--======================================================================--

--======================================================================--
local 任务处理类 = class()
function 任务处理类:初始化()end

function 任务处理类:取任务说明(玩家id,任务id)
  local 说明={}
  if 任务数据[任务id]==nil then
    return {}
  else -- table.print(任务数据[任务id])
    if 任务数据[任务id].类型==1 then
      说明={"变身卡","#L你的变身效果还可持续#R/"..取分(任务数据[任务id].结束-(os.time()-任务数据[任务id].起始)).."#L/分钟。"}
    elseif 任务数据[任务id].类型==2 then
      说明={"双倍时间","#L你的双倍时间还可持续#R/"..取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))).."#L/分钟。","野外战斗、抓鬼、封妖、官职、种族等活动任务中所获得的经验、银子、储备翻倍。本效果可以与精修时间叠加。"}
    elseif 任务数据[任务id].类型==3 then
      说明={"精修时间","#L你的精修时间还可持续#R/"..取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))).."#L/分钟。","野外战斗、抓鬼、封妖、官职、种族等活动任务中所获得的经验、银子、储备翻倍。本效果可以与双倍时间叠加。"}
    elseif 任务数据[任务id].类型==4 then
      说明={"宝图任务",format("前往#Y/%s(%s,%s)#W/#L/处缉拿强盗#R/%s",取地图名称(任务数据[任务id].地图编号),任务数据[任务id].x,任务数据[任务id].y,任务数据[任务id].名称),"完成后可获得少量金钱、几率获得藏宝图"}
    elseif 任务数据[任务id].类型==209 then
      说明={"悬赏任务",format("前往#Y/%s(%s,%s)#W/#L/处缉拿#R/%s#L/。此任务难度较高，请尽量与一些实力超群的玩家组队完成。#R(剩余%s分钟)",取地图名称(任务数据[任务id].地图编号),任务数据[任务id].x,任务数据[任务id].y,任务数据[任务id].名称,取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始)))),"完成后可获得大量储备与高级宝石"}
    elseif 任务数据[任务id].类型==5 then
      说明={"打造任务",format("#L/你的#R/%s#L正在制作中，但还需要%s块%s才可完成。请赶紧去寻找吧。",任务数据[任务id].名称,任务数据[任务id].数量,任务数据[任务id].石头)}
    elseif 任务数据[任务id].类型==7758 then
      说明={"熔合任务",format("你的#R/%s#L/已经在制作中了，但还欠缺#G%s#R(%s)#L以及#G%s#R(%s)#L以及#G%s#R(%s)#L，注意药品要准备99个。",任务数据[任务id].名称,任务数据[任务id].物品类型[1],任务数据[任务id].物品[1],任务数据[任务id].物品类型[2],任务数据[任务id].物品[2],任务数据[任务id].物品类型[3],任务数据[任务id].物品[3])}
    elseif 任务数据[任务id].类型==6 then
      说明={"赏金任务",format("#L/在#R/东海湾、东海岩洞、东海海底、海底沉船、江南野外#L/完成指定的战斗次数。你还需要在这些场景中战斗#Y/%s#L/次才可获得奖励。",任务数据[任务id].数量),"可获得经验、银子或储备"}
    elseif 任务数据[任务id].类型==7 then
      if 科举数据[玩家id]==nil then
        说明={"科举活动","数据异常，已取消该任务，请重新打开任务界面刷新纪录"}
        玩家数据[玩家id].角色:取消任务(任务id)
        return 说明
      end
      说明={"科举活动",format("#L/你当前正在参加科举活动，请在#R/%s#L/分内完成本活动。逾期将自动失去本轮活动资格。当前已回答#R/%s#L/道题目，其中回答正确#R/%s#L/道,回答错误#R/%s#L/道",取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))),科举数据[玩家id].总数,科举数据[玩家id].答对,科举数据[玩家id].答错),"可获得经验、银子、物品奖励"}
    elseif 任务数据[任务id].类型==8 then
      说明={"捉鬼任务",format("前往#Y/%s(%s,%s)#W/#L/处降服#G/%s#R(当前第%s次)",任务数据[任务id].地图名称,任务数据[任务id].显示x,任务数据[任务id].显示y,任务数据[任务id].名称,玩家数据[玩家id].角色.数据.捉鬼次数),"可获得经验、银子，第10次任务可几率获得物品"}
   elseif 任务数据[任务id].类型==16 then
      说明={"鬼王任务",format("前往#Y/%s(%s,%s)#W/#L/处降服#G/%s#R(当前第%s次)",任务数据[任务id].地图名称,任务数据[任务id].显示x,任务数据[任务id].显示y,任务数据[任务id].名称,玩家数据[玩家id].角色.数据.捉鬼次数),"可获得经验、银子，第10次任务可几率获得物品"}
     elseif 任务数据[任务id].类型==9 then
      说明={"摄妖香","#L你的摄妖香效果还可持续#R/"..取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))).."#L/分钟。","在低于自身等级+10的场景中不会触发暗雷战斗。"}
    elseif 任务数据[任务id].类型==7756 then
      说明={"一倍经验丹","#L你的一倍经验丹效果还可持续#R/"..取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))).."#L/分钟。"}
    elseif 任务数据[任务id].类型==7755 then
      说明={"双倍经验丹","#L你的双倍经验丹效果还可持续#R/"..取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))).."#L/分钟。"}
    elseif 任务数据[任务id].类型==10 then
      说明={"罗羹效果",format("#L/在每场战斗结束后都将自动恢复人物气血和魔法。当前还可恢复#R/%s#L点气血、#R/%s#L/点魔法",任务数据[任务id].气血,任务数据[任务id].魔法)}
    elseif 任务数据[任务id].类型==11 then
      说明={"初出江湖",format("前往#Y/%s(%s,%s)#W/#L/处查明#G/%s#L的身份#R(当前第%s次)",任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y,任务数据[任务id].名称,玩家数据[玩家id].角色.数据.江湖次数),"可获得经验、银子、储备金"}
    elseif 任务数据[任务id].类型==12 then
      说明={"皇宫飞贼",format("去#L%s的%s,%s缉拿%s,剩余时间%s分钟。",任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y,任务数据[任务id].名称,取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始)))),"可获得经验、银子、储备金"}
    elseif 任务数据[任务id].类型==13 then
      if 任务数据[任务id].分类==11  then
        说明={"修炼任务",format("#L找到%s的%s,当前第%s环，任务积分%s分。",任务数据[任务id].地图名称,任务数据[任务id].名称,任务数据[任务id].次数,任务数据[任务id].积分),"可获得召唤兽修炼经验，在完成第100次任务时将获得随机书铁"}
      elseif 任务数据[任务id].分类==12 or 任务数据[任务id].分类==13 or 任务数据[任务id].分类==14 then
        说明={"修炼任务",format("#L将#Y%s#L交给%s的%s,当前第%s环，任务积分%s分。",任务数据[任务id].物品,任务数据[任务id].地图名称,任务数据[任务id].名称,任务数据[任务id].次数,任务数据[任务id].积分),"可获得召唤兽修炼经验，在完成第100次任务时将获得随机书铁。本任务所需的物品可以在自身等级对应的场景暗雷战斗中几率获得。"}
      elseif 任务数据[任务id].分类==15 then
        说明={"修炼任务",format("#L将#Y变异%s#L交给%s的%s,当前第%s环，任务积分%s分。",任务数据[任务id].bb,任务数据[任务id].地图名称,任务数据[任务id].名称,任务数据[任务id].次数,任务数据[任务id].积分),"可获得召唤兽修炼经验，在完成第100次任务时将获得随机书铁。本任务所需的变异召唤兽可以在自身等级对应的场景暗雷战斗中几率遇见。"}
      end
    elseif 任务数据[任务id].类型==14 then
      说明={"点化任务","#L找到长安城五行大师进行装备点化。"}
    elseif 任务数据[任务id].类型==22 then
      说明={"摇钱树",format("你在#Y/%s(%s,%s)#W/#L/附近种下了一颗摇钱树",取地图名称(任务数据[任务id].地图编号),任务数据[任务id].x,任务数据[任务id].y),"完成后可获得随机物品、银子、元宝奖励"}
    elseif 任务数据[任务id].类型==24 then
      说明={"江湖大盗",format("#Y/%s(%s,%s)#W/#L/附近的强盗蠢蠢欲动,意欲图谋你的摇钱树果实！",取地图名称(任务数据[任务id].地图编号),任务数据[任务id].x,任务数据[任务id].y),"完成后增加一次摇晃次数！"}
    elseif 任务数据[任务id].类型==107 then
      说明={"门派闯关",format("你正在进行门派闯关活动，请立即前往#Y/%s#L/接受门派护法考验,截止到目前为止，你已成功完成了#R/%s#L/次考验。",Q_门派编号[任务数据[任务id].当前序列],15-#任务数据[任务id].闯关序列),"可获得经验、银子、物品奖励"}
    elseif 任务数据[任务id].类型==109 then
      说明={"游泳比赛",format("请立即前往#Y/%s(%s,%s)#L/%s号裁判处报道。",取地图名称(Q_游泳数据[任务数据[任务id].序列].z),Q_游泳数据[任务数据[任务id].序列].x,Q_游泳数据[任务数据[任务id].序列].y,任务数据[任务id].序列),"可获得经验、储备奖励"}
    elseif 任务数据[任务id].类型==120 then
      local 副本id=任务数据[任务id].副本id
      if 副本数据.乌鸡国.进行[副本id]==nil then
        说明={"拯救小姐姐","#L您的副本已经完成"}
      else
        local 进程=副本数据.乌鸡国.进行[副本id].进程
        local 数量=副本数据.乌鸡国.进行[副本id].数量
        local 序列=副本数据.乌鸡国.进行[副本id].序列
        if 进程==1 then
          说明={"拯救小姐姐",format("#L消灭15波山贼，当前已完成:%s#R(剩余%s分钟)",(15-数量),取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))))}
        elseif 进程==2 then
          说明={"拯救小姐姐",format("#L寻求15个热心人的帮忙，当前已完成:%s#R(剩余%s分钟)",(15-数量),取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))))}
        elseif 进程==3 then
          local 名称={"囚神妖怪","拘灵妖怪","缚仙妖怪"}
          local 表述={}
          for n=1,3 do
            if 序列[n]~=true then
              表述[#表述+1]=名称[n]
            end
          end
          local 名称=""
          for n=1,#表述 do
            if n==#表述 then
              名称=名称..表述[n]
            else
              名称=名称..表述[n].."、"
            end
          end
          说明={"拯救小姐姐",format("#L消灭#R%s#L,本环节没有消灭时间限制#R(剩余%s分钟)",名称,取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))))}
        elseif 进程==4 then
          说明={"拯救小姐姐",format("#L消灭15个鬼祟小怪，当前已完成:%s#R(剩余%s分钟)",(15-数量),取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))))}
        elseif 进程==5 then
          说明={"拯救小姐姐",format("#L寻找出真正的山贼王，与真正的山贼王战斗胜利后本副本将自动结束#R(剩余%s分钟)",取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))))}
        end
          说明[3]="完成后可获得经验、银子、物品奖励"
      end
    elseif 任务数据[任务id].类型==130 then
      local 副本id=任务数据[任务id].副本id
      if 副本数据.车迟斗法.进行[副本id]==nil then
        说明={"车迟斗法","#L您的副本已经完成"}
      else
        local 进程=副本数据.车迟斗法.进行[副本id].进程
        local 道观建设=副本数据.车迟斗法.进行[副本id].道观建设
        local 建设要求=任务数据[任务id].建设要求
        local 数量=副本数据.车迟斗法.进行[副本id].数量
        local 序列=副本数据.车迟斗法.进行[副本id].序列
        if 进程==1 then
          说明={"车迟斗法",format("#L通过找到有个道士回答问题获得木材完成道观建设，还差:%s#R(剩余%s分钟)",(建设要求-道观建设),取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))))}
        elseif 进程==2 then
          说明={"车迟斗法",format("#L找到有个和尚帮忙")}
        elseif 进程==3 then
          说明={"车迟斗法",format("#L帮助有个和尚加掉贡品，当前还有:%s个贡品#R(剩余%s分钟)",数量,取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))))}
        elseif 进程==4 then
          local 名称={"道德天尊","灵宝天尊","元始天尊"}
          local 表述={}
          for n=1,3 do
            if 序列[n]~=true then
              表述[#表述+1]=名称[n]
            end
          end
          local 名称=""
          for n=1,#表述 do
            if n==#表述 then
              名称=名称..表述[n]
            else
              名称=名称..表述[n].."、"
            end
          end
          说明={"车迟斗法",format("#L消灭假扮的#R%s#L,本环节没有消灭时间限制#R(剩余%s分钟)",名称,取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))))}
        elseif 进程==5 then
          说明={"车迟斗法",format("#L妖怪都跑到九霄云外，找到有个和尚问问")}
        elseif 进程==6 then
          说明={"车迟斗法",format("#L找到有个神仙帮忙")}
        elseif 进程==7 then
          local 名称={"雷公","电母","雨师"}
          if 副本数据.车迟斗法.进行[副本id].不动 then
            名称={"你不动","你不动","我不动"}
          end
          local 表述={}
          for n=1,3 do
            if 序列[n]~=true then
              表述[#表述+1]=名称[n]
            end
          end
          local 名称=""
          for n=1,#表述 do
            if n==#表述 then
              名称=名称..表述[n]
            else
              名称=名称..表述[n].."、"
            end
          end
          说明={"车迟斗法",format("#L消灭#R%s#L,本环节没有消灭时间限制#R(剩余%s分钟)",名称,取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始))))}
        elseif 进程==8 then
          说明={"车迟斗法",format("#L找到电母打听妖怪的下落")}
        elseif 进程==9 then
          说明={"车迟斗法",format("#L找到大圣进行变化")}
        elseif 进程==10 then
          说明={"车迟斗法",format("#L变化强化了，去找假道士算帐")}
        elseif 进程==11 then
          说明={"车迟斗法",format("#L恭喜你，完成了车迟斗法，去领取自己的奖励宝箱吧！！!")}
        elseif 进程==12 then
          说明={"车迟斗法",format("#L恭喜你，完成了车迟斗法，获得了更多的宝箱！！!")}
        end
          说明[3]="完成后可获得经验、银子、物品奖励"
      end
    elseif 任务数据[任务id].类型==150 then
      local 副本id=任务数据[任务id].副本id
      if 副本数据.水陆大会.进行[副本id]==nil then
        说明={"水陆大会","#L您的副本已经完成"}
      else
        local 进程=副本数据.水陆大会.进行[副本id].进程
        if 进程==1 then
          说明={"水陆大会",format("#L找到道场督僧，看看有什么需要帮忙的")}
        elseif 进程==2 then
          说明={"水陆大会",format("#L水陆大会的道场建设完成了，与玄奘法师对话")}
        elseif 进程==3 then
          说明={"水陆大会",format("#L程咬金似乎受伤了，赶紧去问问是怎么回事吧。")}
        elseif 进程==4 then
          说明={"水陆大会",format("#L原众人被突闪出现的妖魔所掳，请各位速去道场后院打探。")}
        elseif 进程==5 then
          说明={"水陆大会",format("#L道场后院妖魔好是凶猛，听闻长安土地公公消息，观音幻化成#R%s#L和#R%s#L模样正寻经善之人，想必有破解之法，快去寻找寻找。",副本数据.水陆大会.进行[副本id].人物[1].名称,副本数据.水陆大会.进行[副本id].人物[2].名称)}
        elseif 进程==6 then
          说明={"水陆大会",format("#L终于消灭了妖魔，找土地公公打听下其他妖魔的下落")}
        elseif 进程==7 then
          说明={"水陆大会",format("#L找到罪魁祸首，消灭所有妖魔，救出唐王和玄奘法师")}
        elseif 进程==8 then
          说明={"水陆大会",format("#L终于救出了唐王和玄奘法师，好像唐王有话对你说")}
        end
      end
    elseif 任务数据[任务id].类型==160 then
      local 副本id=任务数据[任务id].副本id
      if 副本数据.通天河.进行[副本id]==nil then
        说明={"通天河","#L您的副本已经完成"}
      else
        local 进程=副本数据.通天河.进行[副本id].进程
        if 进程==1 then
          说明={"通天河",format("#L向小朋友们打听#R一秤金、陈关保#L的下落，找到后完成变身。(完成度：%s：10)",副本数据.通天河.进行[副本id].通天答题)}
        elseif 进程==2 then
          说明={"通天河",format("#L找到#R一秤金、陈关保#L进行变身。(当前还有%s个玩家没变身)",(5-副本数据.通天河.进行[副本id].变身次数))}
        elseif 进程==3 then
          说明={"通天河",format("#L找到灵灯(23,176)，触摸等待灵感大王的到来。")}
        elseif 进程==4 then
          说明={"通天河",format("#L灵感大王恼羞成怒，派出河妖进行灭村，少侠快去找到唐僧")}
        elseif 进程==5 then
          说明={"通天河",format("#L保护陈家庄，消灭河妖(当前完成度：%s：15)",副本数据.通天河.进行[副本id].河妖)}
        elseif 进程==6 then
          说明={"通天河",format("#L唐僧被灵感大王掳走，去普陀山向观音姐姐求助，#R散财童子#L和#R黑熊精#L横加阻拦，打败他们！")}
        elseif 进程==7 then
          说明={"通天河",format("#L找到观音姐姐求助")}
        elseif 进程==8 then
          说明={"通天河",format("#L灵感大王原是潮音洞的鲤鱼所变。众人帮忙采集五色竹条，编织成降魔鱼篮对付妖怪。(当前完成度：%s：50)",副本数据.通天河.进行[副本id].五色竹条)}
        elseif 进程==9 then
          说明={"通天河",format("#L降魔鱼篮已经完成，灵感大王出现在通天河底，去妖怪洞府查看下情况。")}
        elseif 进程==10 then
          说明={"通天河",format("#L进入了灵感大王的腹中，带着降魔鱼篮找到灵感大王的弱点，消灭它。")}
        end
      end
    elseif 任务数据[任务id].类型==208 then
      说明={"镖王大赛",format("请将这批%s镖银押送至#R%s(%s,%s)#L的镖师处，为了确保镖银的安全，押送过程中将无法使用飞行道具。",任务数据[任务id].难度,任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y),"可获得经验、银子，可几率获得物品。押送高级镖银和珍贵镖银将几率获得物品鬼谷子。"}
    elseif 任务数据[任务id].类型==300 then
      说明={"押镖任务",format("请帮我把镖银送给#Y%s#L的#R%s，#L事出紧急，切勿在路上耽搁。当前#R第%s镖",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物,任务数据[任务id].次数,"#L可获得经验、银子，可几率获得物品。押送将几率获得物品鬼谷子。")}
    elseif 任务数据[任务id].类型==301 then
      if 任务数据[任务id].分类 == 1 then
          说明={"青龙任务",format("请帮我将这封书信送给#Y%s#L的#R%s#L，事出紧急，切勿在路上耽搁。",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物)}
      elseif 任务数据[任务id].分类 == 2 then
          说明={"青龙任务",format("近日物资紧缺，请你前寻找#R%s#L，事出紧急，切勿在路上耽搁。",任务数据[任务id].药品)}
      elseif 任务数据[任务id].分类 == 3 then
          说明={"青龙任务",format("近日物资紧缺，请你前寻找#R%s#L，事出紧急，切勿在路上耽搁。",任务数据[任务id].烹饪)}
      else
          说明={"青龙任务",format("最近常有敌对门派探子在长安城内出现，还请你在四周巡逻一番。")}
      end
    elseif 任务数据[任务id].类型==302 then
      if 任务数据[任务id].分类 == 1 then
          说明={"玄武任务",format("请帮我将这封书信送给#Y%s#L的#R%s#L，事出紧急，切勿在路上耽搁。",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物)}
      elseif 任务数据[任务id].分类 == 2 then
          说明={"玄武任务",format("近日物资紧缺，请你前寻找#R%s#L，事出紧急，切勿在路上耽搁。",任务数据[任务id].药品)}
      elseif 任务数据[任务id].分类 == 3 then
          说明={"玄武任务",format("近日物资紧缺，请你前寻找#R%s#L，事出紧急，切勿在路上耽搁。",任务数据[任务id].烹饪)}
      else
          说明={"玄武任务",format("最近常有敌对门派探子在长安城内出现，还请你在四周巡逻一番。")}
      end
    elseif 任务数据[任务id].类型==110 then
      if 任务数据[任务id].分类==1 then
        说明={"官职任务",format("缉拿在#Y%s(%s,%s)#L/处闹事的流氓",任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y),"完成后可获得经验、储备奖励"}
      elseif 任务数据[任务id].分类==2 then
        说明={"官职任务",format("将物资交给#Y/%s(%s,%s)#L/处的军需官",任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y),"完成后可获得经验、储备奖励"}
      elseif 任务数据[任务id].分类==3 then
        if 任务数据[任务id].情报==false then
          说明={"官职任务","在#R/大唐国境、大唐境外、长寿郊外、花果山、北俱芦洲#L/处收集情报，正在进行此任务的玩家不会触发暗雷战斗。","完成后可获得经验、储备奖励"}
        else
          说明={"官职任务","将得到的情报交给李将军。","完成后可获得经验、储备奖励"}
        end
      elseif 任务数据[任务id].分类==4 then
        说明={"官职任务",format("找到交给#Y/%s#L/后交给李将军",任务数据[任务id].物品),"完成后可获得经验、银子奖励"}
      end
      说明[2]=说明[2]..format("#R/(当前第%s次)",玩家数据[玩家id].角色.数据.官职次数)
    elseif 任务数据[任务id].类型==111 then
      if 任务数据[任务id].分类==1 then
        说明={"门派任务",format("替师傅送信给#Y%s#L的#R%s",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物),"完成后可获得经验、银子、门派贡献度奖励"}
      elseif 任务数据[任务id].分类==2 then
        说明={"门派任务","在本门派场景内巡逻。","完成后可获得经验、银子、门派贡献度奖励"}
      elseif 任务数据[任务id].分类==3 then
        if 任务数据[任务id].要求==nil then
          说明={"门派任务",format("捕捉到#Y%s#L交给师傅。",任务数据[任务id].bb),"完成后可获得经验、储备奖励"}
        else
          说明={"门派任务",format("捕捉到#R%s#L的#Y%s#L交给师傅。",任务数据[任务id].要求,任务数据[任务id].bb),"完成后可获得经验、储备奖励"}
        end
      elseif 任务数据[任务id].分类==4 then
        if 任务数据[任务id].品质==nil then
          说明={"门派任务",format("寻找到#Y%s#L交给师傅。",任务数据[任务id].物品),"完成后可获得经验、储备奖励"}
        else
          说明={"门派任务",format("寻找到#Y%s#L交给师傅(如果上交的物品品质达#R%s#L可获得双倍奖励)",任务数据[任务id].物品,任务数据[任务id].品质),"完成后可获得经验、储备奖励"}
        end
      elseif 任务数据[任务id].分类==5 then
        if 任务数据[任务id].显示坐标==nil then
          说明={"门派任务",format("前往#Y%s#L教训#R%s",任务数据[任务id].地图名称,任务数据[任务id].名称),"完成后可获得经验、银子、门派贡献度奖励"}
        else
          说明={"门派任务",format("前往#Y%s(%s,%s)#L教训#R%s",任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y,任务数据[任务id].名称),"完成后可获得经验、银子、门派贡献度奖励"}
        end
      elseif 任务数据[任务id].分类==6 then
        说明={"门派任务",format("请前往#Y/%s(%s,%s)#L/处支援本门派弟子。",任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y),"完成后可获得经验、银子、门派贡献度奖励"}
      elseif 任务数据[任务id].分类==7 then
        if 任务数据[任务id].乾坤袋==nil then
          说明={"门派任务",format("请前往#Y/%s(%s,%s)#L/处降服#R/%s#L，此战斗必须使用乾坤袋。。",取地图名称(任务数据[任务id].地图编号),任务数据[任务id].x,任务数据[任务id].y,任务数据[任务id].名称),"完成后可获得经验、银子、门派贡献度奖励"}
        else
          说明={"门派任务","将乾坤袋交给师傅","完成后可获得经验、银子、门派贡献度奖励"}
        end
      end
      说明[2]=说明[2]..format("#G/(当前第%s次)",玩家数据[玩家id].角色.数据.师门次数)
    elseif 任务数据[任务id].类型==307 then
      if 任务数据[任务id].分类==1 then
        说明={"坐骑剧情任务","快去找#Y长寿村#L的#R太白金星#L咨询下吧！"}
      elseif 任务数据[任务id].分类==2 then
        说明={"坐骑剧情任务",format("帮#Y/太白金星#L找到#R/%s",任务数据[任务id].烹饪)}
      elseif 任务数据[任务id].分类==3 then
        说明={"坐骑剧情任务","#Y天宫#L的#R千里眼#L能眼观天下，他也许知道天马的消息！"}
      elseif 任务数据[任务id].分类==4 then
        说明={"坐骑剧情任务","帮#R千里眼#L把书信送到#R大力神灵#L处(#R需战斗#L)"}
      elseif 任务数据[任务id].分类==5 then
        说明={"坐骑剧情任务","看看#R千里眼#L是不是查探到什么了"}
      elseif 任务数据[任务id].分类==6 then
        说明={"坐骑剧情任务","找朱紫国#R土地公公#L看看有没有发现"}
      elseif 任务数据[任务id].分类==7 then
        说明={"坐骑剧情任务","找到朱紫国皇宫附近的#R妖魔亲信#L(#R需战斗#L)"}
      elseif 任务数据[任务id].分类==8 then
        说明={"坐骑剧情任务","找到#R蜃妖元神#L(#R需战斗#L)"}
      elseif 任务数据[任务id].分类==9 then
        说明={"坐骑剧情任务","去找找#R太白金星#L看看什么情况。"}
      elseif 任务数据[任务id].分类==10 then
        说明={"坐骑剧情任务","天下间的动物何去何从都逃不过#Y狮驼岭#L的#R大大王#L的眼睛，去调查一番。"}
      elseif 任务数据[任务id].分类==11 then
        说明={"坐骑剧情任务",format("帮#Y/大大王#L找到#R/%s",任务数据[任务id].药品)}
      elseif 任务数据[任务id].分类==12 then
        说明={"坐骑剧情任务","马儿在#Y建业#L一带遗失，#R周猎户#L十分可疑，前去调查。"}
      elseif 任务数据[任务id].分类==13 then
        说明={"坐骑剧情任务","终于找到了马儿，可以去找#R百兽王#L复命了。"}
      end
    elseif 任务数据[任务id].类型==308 then
      if 任务数据[任务id].分类 == 1 then
        说明={"法宝任务",format("#Y%s#W的#R%s#W正需要帮忙，少侠可以去看看，或许有意外的收获。",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物)}
      elseif 任务数据[任务id].分类 == 2 then
        说明={"法宝任务",format("#G%s#L近日物资紧缺，请你前寻找#R%s#L，事出紧急，切勿在路上耽搁。",任务数据[任务id].法宝NPC,任务数据[任务id].物品)}
      elseif 任务数据[任务id].分类 == 3 then
        说明={"法宝任务",format("#G%s#L近日物资紧缺，请你前寻找#R%s#L，事出紧急，切勿在路上耽搁。",任务数据[任务id].法宝NPC,任务数据[任务id].物品)}
      else
        说明={"法宝任务",format("#Y%s#W的#R%s#W仗着自己会点武功，到处惹是生非，希望少侠能为名除害(#R需战斗#W)。",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物)}
      end
    elseif 任务数据[任务id].类型==309 then
      说明={"法宝任务",format("内丹是修炼者经过百年甚至千年的修炼在体内以灵气结成的丹丸，#Y%s#W正在#R%s#Y%s#W,#Y%s四处为祸人间，少侠可前往收服该妖魔获取内丹。",任务数据[任务id].名称,任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y)}
    elseif 任务数据[任务id].类型=="飞升剧情" then
      if 任务数据[任务id].进程==1 then
        说明={"飞升剧情",format("如果你准备好了，可以去找法明长老来指导你如何进入化境！等你通过了所有修炼再来找，我会带你入与化境。")}
      elseif 任务数据[任务id].进程==2 then
        说明={"飞升剧情",format("很好，你现在去天界找太上老君，他会告诉你一些如何入于化境的方法。")}
      elseif 任务数据[任务id].进程==3 then
        说明={"飞升剧情",format("欲入化境，必先明道。为道者将强先弱，欲扬先抑。入于化境之后会变的暂时弱些，但是不久你就可以达到更强的境界，携带更加厉害的召唤兽，拥有更有威力的法术和更强的修炼。既然我传授给你这些道理，你也应该为我道门做些事情。我这几日要炼仙丹，需要%s和%s做药引，你去取些来。",任务数据[任务id].药品.药品.名称,任务数据[任务id].药品.药品1.名称)}
      elseif 任务数据[任务id].进程==4 then
        说明={"飞升剧情",format("老君帮忙推荐仙界试练，去找玉皇大帝看看")}
      elseif 任务数据[任务id].进程==5 then
        说明={"飞升剧情",format("帮玉皇大帝找到#Y/东海龙王的定海针；李靖的避火诀；观音的修篁斧；镇元大仙的炼金鼎。")}
      elseif 任务数据[任务id].进程==6 then
        说明={"飞升剧情",format("去大唐的长安城皇宫找李世民聊聊。")}
      elseif 任务数据[任务id].进程==7 then
        if 任务数据[任务id].门派推荐.大唐官府 and 任务数据[任务id].门派推荐.女儿村 and 任务数据[任务id].门派推荐.化生寺 then
          说明={"飞升剧情",format("已经获得三派推荐，该回去见见李世民了。")}
        else
          说明={"飞升剧情",format("获得大唐官府、化生寺、女儿村的推荐")}
        end
      elseif 任务数据[任务id].进程==8 then
        说明={"飞升剧情",format("找到灵台方寸山，斜月三星洞。")}
      elseif 任务数据[任务id].进程==9 then
        说明={"飞升剧情",format("找到地府大总管地藏王。")}
      elseif 任务数据[任务id].进程==10 then
        if 任务数据[任务id].征求意见.大大王 and 任务数据[任务id].征求意见.牛魔王 and 任务数据[任务id].征求意见.春十三娘 then
          说明={"飞升剧情",format("已经获得大大王、牛魔王、春十三娘的同意，该回去见见地藏王了。")}
        else
          说明={"飞升剧情",format("获得大大王、牛魔王、春十三娘的同意去取不死壤")}
        end
      elseif 任务数据[任务id].进程==11 then
        说明={"飞升剧情",format("去无名鬼蜮找到小宝箱获得不死壤。")}
      elseif 任务数据[任务id].进程==12 then
        说明={"飞升剧情",format("拿到了不死壤了，快去找玉皇大帝获得入于化境的资格吧！")}
      elseif 任务数据[任务id].进程==13 then
        说明={"飞升剧情",format("请回去找吴刚入于化境。")}
      end
    elseif 任务数据[任务id].类型==310 then
      说明={"飞升大唐官府推荐",format("去东海湾#Y%s，#Y%s#W处收拾横行霸道的土匪。",任务数据[任务id].x,任务数据[任务id].y)}
    elseif 任务数据[任务id].类型==311 then
      说明={"飞升化生寺推荐",format("去长寿村帮忙驱散瘟疫。")}
    elseif 任务数据[任务id].类型==312 then
      说明={"飞升女儿村推荐",format("依次给长寿凤凰姑娘、长安刘副将、建业小花、傲来红毛猿送去口信。")}
    elseif 任务数据[任务id].类型==313 then
      说明={"飞升方寸山推荐",format("去东海湾 #Y%s#W，#Y%s#W除掉心魔。",任务数据[任务id].x,任务数据[任务id].y)}
    elseif 任务数据[任务id].类型==346 then
      说明={"侠义任务",format("最近缺少#G/%s#R/%s#W，麻烦少侠帮我找来。",任务数据[任务id].物品类型,任务数据[任务id].物品)}
    elseif 任务数据[任务id].类型==350 then
      说明={"贼王的线索",format("前往#Y/%s(%s,%s)#W/#L/处缉拿#R/%s#L/。此任务难度较高，请尽量与一些实力超群的玩家组队完成。#R(剩余%s分钟)",取地图名称(任务数据[任务id].地图编号),任务数据[任务id].x,任务数据[任务id].y,任务数据[任务id].名称,取分((任务数据[任务id].结束-(os.time()-任务数据[任务id].起始)))),"完成后可获得大量储备与高级宝石"}
    elseif 任务数据[任务id].类型==352 then
      说明={"水陆大会",format("去道场的后院#R%s,%s#W附近的#R蟠桃树#W上查找一下泼猴的踪迹。",任务数据[任务id].x,任务数据[任务id].y)}
    elseif 任务数据[任务id].类型==353 then
      说明={"水陆大会",format("穿过道场前门，到繁华京城给#R%s（%s，%s）#W送上邀帖。",任务数据[任务id].人物,任务数据[任务id].x,任务数据[任务id].y)}
    elseif 任务数据[任务id].类型==8800 then
        local 玩家id=任务数据[任务id].玩家id
        if 剧情数据.渡劫.进行[玩家id]==nil then
          说明={"渡劫剧情",format("听说领头人在滨海之境出没，等待各路高手的汇聚。")}
        else
          local 进程=剧情数据.渡劫.进行[玩家id].进程
          if 进程==1 then
            说明={"渡劫剧情",format("去龙窟内爽灵阵附近看看情况。")}
          elseif 进程==2 then
            说明={"渡劫剧情",format("对话妄空妖魔")}
          elseif 进程==3 then
            说明={"渡劫剧情",format("追上走向龙窟二层(82,37)的妄空妖魔。")}
          elseif 进程==4 then
            说明={"渡劫剧情",format("到凤巢二层(112,55)找蚩尤之子。")}
          elseif 进程==5 then
            说明={"渡劫剧情",format("到龙窟二层找龙神。")}
          elseif 进程==6 then
            说明={"渡劫剧情",format("到麒麟山(177,11)处的胎光阵找到蚩尤之子。")}
          elseif 进程==7 then
            说明={"渡劫剧情",format("逃跑到朱紫国(45,36)处找蚩尤之子。")}
          elseif 进程==8 then
            说明={"渡劫剧情",format("回到门派找门派师傅帮忙。")}
          elseif 进程==9 then
            说明={"渡劫剧情",format("带着师傅去找到天冷曰妄空对峙。")}
          elseif 进程==10 then
            说明={"渡劫剧情",format("连师傅都不信任自己了，找到蚩尤之子想想办法。")}
          elseif 进程==11 then
            说明={"渡劫剧情",format("找到一把#R"..任务数据[任务id].所需武器.."#W在解阳山和蚩尤之子(36,38)一起布置陷阱。")}
          elseif 进程==12 then
            说明={"渡劫剧情",format("揭穿了天冷曰妄空的阴谋，去找师傅聊聊")}
          elseif 进程==13 then
            说明={"渡劫剧情",format("击败武神坛内的蚩尤幻影(137,111)。（最终之战）（可通过在解阳山29,38的师傅再进入武神坛）")}
          end
        end
    end
  end
  return 说明
end

function 任务处理类:更新(dt)
  for n, v in pairs(任务数据) do
    if 任务数据[n]~=nil then
      if 任务数据[n].类型==22 then --摇钱树
        if 任务数据[n].阶段<=3 then
          if os.time()-任务数据[n].记录时间>=300 then
            任务数据[n].阶段=任务数据[n].阶段+1
            任务数据[n].操作=true
            任务数据[n].记录时间=os.time()
            if 玩家数据[任务数据[n].玩家id]~=nil then
              常规提示(任务数据[n].玩家id,"#Y你种下的摇钱树需要照料了，请赶紧前往。")
            end
          end
        elseif 任务数据[n].阶段==4 then
          任务数据[n].阶段=任务数据[n].阶段+1
          任务数据[n].次数=取随机数(1,3)+任务数据[n].成功操作
          任务数据[n].模型 = "摇钱树"
          地图处理类:更改怪物模型(n)
          if 玩家数据[任务数据[n].玩家id]~=nil then
            常规提示(任务数据[n].玩家id,"#Y你种下的摇钱树已经长大了，现在你可以摘取它的果实了。")
          end
        end
      end
      if os.time()-任务数据[n].起始>=任务数据[n].结束 then
        if 任务数据[n].战斗~=true then
          if 任务数据[n].类型==1 then
            if 玩家数据[任务数据[n].玩家id]~=nil then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              常规提示(任务数据[n].玩家id,"你的变身时间到期了！")
              玩家数据[任务数据[n].玩家id].角色.数据.变身数据=nil
              玩家数据[任务数据[n].玩家id].角色.数据.变异=nil
              发送数据(玩家数据[任务数据[n].玩家id].连接id,37,{变身数据=玩家数据[任务数据[n].玩家id].角色.数据.变身数据,变异=玩家数据[任务数据[n].玩家id].角色.数据.变异})
              地图处理类:更改模型(任务数据[n].玩家id,{[1]=玩家数据[任务数据[n].玩家id].角色.数据.变身数据,[2]=玩家数据[任务数据[n].玩家id].角色.数据.变异},1)
            end
            任务数据[n]=nil
          elseif 任务数据[n].类型==2 then
            if 玩家数据[任务数据[n].玩家id]~=nil then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              常规提示(任务数据[n].玩家id,"你的双倍时间到期了！")
            end
            任务数据[n]=nil
          elseif 任务数据[n].类型==3 then
            if 玩家数据[任务数据[n].玩家id]~=nil then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              常规提示(任务数据[n].玩家id,"你的精修时间到期了！")
            end
            任务数据[n]=nil
          elseif 任务数据[n].类型==4 then
            if 玩家数据[任务数据[n].玩家id]~=nil and 任务数据[n].战斗==nil  then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            elseif 玩家数据[任务数据[n].玩家id]==nil then
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          elseif 任务数据[n].类型==7 then
            if 玩家数据[任务数据[n].玩家id]~=nil then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              常规提示(任务数据[n].玩家id,"你的科举答题时间到期了！")
            end
            任务数据[n]=nil
          elseif 任务数据[n].类型==9 then
            if 玩家数据[任务数据[n].玩家id]~=nil then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              常规提示(任务数据[n].玩家id,"你的摄妖香过期了！")
            end
            任务数据[n]=nil
          elseif 任务数据[n].类型==22  then
            if 玩家数据[任务数据[n].玩家id]~=nil then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              常规提示(任务数据[n].玩家id,"你的摇钱树枯萎了消失了！")
            end
            if 任务数据[n].刷出强盗 ~= nil then
              地图处理类:删除单位(任务数据[任务数据[n].刷出强盗].地图编号,任务数据[任务数据[n].刷出强盗].单位编号)
              任务数据[任务数据[n].刷出强盗]  = nil
              玩家数据[任务数据[n].玩家id].角色:取消任务(任务数据[n].刷出强盗)
            end
            地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
            任务数据[n]=nil
          elseif 任务数据[n].类型==7756 then
            if 玩家数据[任务数据[n].玩家id]~=nil then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              常规提示(任务数据[n].玩家id,"你的一倍经验丹过期了！")
            end
            任务数据[n]=nil
          elseif 任务数据[n].类型==7755 then
            if 玩家数据[任务数据[n].玩家id]~=nil then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              常规提示(任务数据[n].玩家id,"你的双倍经验丹过期了！")
            end
            任务数据[n]=nil
          elseif 任务数据[n].类型==210 or 任务数据[n].类型==209 or 任务数据[n].类型==207 or 任务数据[n].类型==101 or 任务数据[n].类型==205 or 任务数据[n].类型==104 or 任务数据[n].类型==11 or 任务数据[n].类型==12 or 任务数据[n].类型==206 or 任务数据[n].类型==350 or 任务数据[n].类型==351 or 任务数据[n].类型==352 or 任务数据[n].类型==353 or 任务数据[n].类型==354 or 任务数据[n].类型==355 or 任务数据[n].类型==356 or 任务数据[n].类型==357 or 任务数据[n].类型==358 then
            if 任务数据[n].战斗==nil  then
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          elseif 任务数据[n].类型==203 or 任务数据[n].类型==204 or 任务数据[n].类型==303 or 任务数据[n].类型==304  or 任务数据[n].类型==341  or 任务数据[n].类型==342 or 任务数据[n].类型==305 or 任务数据[n].类型==306 or 任务数据[n].类型==326 or 任务数据[n].类型==327 or 任务数据[n].类型==328 or 任务数据[n].类型==329 or 任务数据[n].类型==330 or 任务数据[n].类型==331 or 任务数据[n].类型==332 or 任务数据[n].类型==333 or 任务数据[n].类型==201 or 任务数据[n].类型==202 or 任务数据[n].类型==8 or 任务数据[n].类型==102 or 任务数据[n].类型==103  or 任务数据[n].类型==105 or 任务数据[n].类型==313 or 任务数据[n].类型==314 or 任务数据[n].类型==315 or 任务数据[n].类型==316 or 任务数据[n].类型==317 or 任务数据[n].类型==318 or 任务数据[n].类型==320 or 任务数据[n].类型==321 or 任务数据[n].类型==322 or 任务数据[n].类型==323 or 任务数据[n].类型==324 or 任务数据[n].类型==325 or 任务数据[n].类型==334 or 任务数据[n].类型==335 or 任务数据[n].类型==336 or 任务数据[n].类型==337 or 任务数据[n].类型==338 or 任务数据[n].类型==339 or 任务数据[n].类型==343 or 任务数据[n].类型==344 or 任务数据[n].类型==345 or 任务数据[n].类型==347 or 任务数据[n].类型==348 or 任务数据[n].类型==349 then
            if 任务数据[n].战斗==nil then
              if 任务数据[n].类型==339 then
                广播消息({内容=format("#Y天下之大，竟然没有一个人能阻挡天魔".."#"..取随机数(1,110)),频道="xt"})
              end
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          elseif 任务数据[n].类型>126 and 任务数据[n].类型 < 130 then
            if 任务数据[n].战斗==nil then
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          elseif 任务数据[n].类型>=120 and 任务数据[n].类型<=126 then
            for i=1,#任务数据[n].队伍组 do
              local 临时id = 任务数据[n].队伍组[i]
              if 玩家数据[临时id] ~= nil then
                玩家数据[临时id].角色:取消任务(玩家数据[临时id].角色:取任务(120))
                常规提示(临时id,"#Y拯救小姐姐副本结束了")
                副本数据.乌鸡国.完成[临时id]=true
                if 玩家数据[临时id].战斗 ~= nil and 玩家数据[临时id].战斗 ~= 0 and (战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100028 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100029 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100030 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100031)then
                  战斗准备类.战斗盒子[玩家数据[临时id].战斗]:结束战斗(0,0,1)
                end
                if 玩家数据[临时id].角色.数据.地图数据.编号 == 6001 or 玩家数据[临时id].角色.数据.地图数据.编号 == 6002 then
                  地图处理类:跳转地图(临时id,1001,287,85)
                end
              else
                副本数据.乌鸡国.完成[临时id]=true
              end
            end
            if 任务数据[n].战斗==nil then
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          elseif 任务数据[n].类型>=130 and 任务数据[n].类型<=143 then
            --车迟国超时取消
            for i=1,#任务数据[n].队伍组 do
              local 临时id = 任务数据[n].队伍组[i]
              if 玩家数据[临时id] ~= nil then
                玩家数据[临时id].角色:取消任务(玩家数据[临时id].角色:取任务(130))
                常规提示(临时id,"#Y车迟斗法副本结束了")
                副本数据.车迟斗法.完成[临时id]=true
                if 玩家数据[临时id].战斗 ~= nil and 玩家数据[临时id].战斗 ~= 0 and (战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100066 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100067 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100068 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100069 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100070)then
                  战斗准备类.战斗盒子[玩家数据[临时id].战斗]:结束战斗(0,0,1)
                end
                if 玩家数据[临时id].角色.数据.地图数据.编号 == 6021 or 玩家数据[临时id].角色.数据.地图数据.编号 == 6022 or 玩家数据[临时id].角色.数据.地图数据.编号 == 6023 then
                  地图处理类:跳转地图(临时id,1070,125,144)
                end
              else
                副本数据.车迟斗法.完成[临时id]=true
              end
            end
            if 任务数据[n].战斗==nil then
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          elseif 任务数据[n].类型>=150 and 任务数据[n].类型<=158 then
            --水陆大会超时取消
            for i=1,#任务数据[n].队伍组 do
              local 临时id = 任务数据[n].队伍组[i]
              if 玩家数据[临时id] ~= nil then
                玩家数据[临时id].角色:取消任务(玩家数据[临时id].角色:取任务(150))
                常规提示(临时id,"#Y水陆大会副本结束了")
                副本数据.水陆大会.完成[临时id]=true
                if 玩家数据[临时id].战斗 ~= nil and 玩家数据[临时id].战斗 ~= 0 and (战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100112 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100113 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100114 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100115 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100116 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100117 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100118 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100119)then
                  战斗准备类.战斗盒子[玩家数据[临时id].战斗]:结束战斗(0,0,1)
                end
                if 玩家数据[临时id].角色.数据.地图数据.编号 == 6024 or 玩家数据[临时id].角色.数据.地图数据.编号 == 6025 or 玩家数据[临时id].角色.数据.地图数据.编号 == 6026 then
                  地图处理类:跳转地图(临时id,1001,413,70)
                end
              else
                副本数据.水陆大会.完成[临时id]=true
              end
            end
            if 任务数据[n].战斗==nil then
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          elseif 任务数据[n].类型>=160 and 任务数据[n].类型<=170 then
            --水陆大会超时取消
            for i=1,#任务数据[n].队伍组 do
              local 临时id = 任务数据[n].队伍组[i]
              if 玩家数据[临时id] ~= nil then
                玩家数据[临时id].角色:取消任务(玩家数据[临时id].角色:取任务(160))
                常规提示(临时id,"#Y通天河副本结束了")
                副本数据.通天河.完成[临时id]=true
                if 玩家数据[临时id].战斗 ~= nil and 玩家数据[临时id].战斗 ~= 0 and (战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100125 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100126 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100127 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100128 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100129 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100130 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100131 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100132 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100133 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100134 or 战斗准备类.战斗盒子[玩家数据[临时id].战斗].战斗类型==100135)then
                  战斗准备类.战斗盒子[玩家数据[临时id].战斗]:结束战斗(0,0,1)
                end
                if 玩家数据[临时id].角色.数据.地图数据.编号 == 6027 or 玩家数据[临时id].角色.数据.地图数据.编号 == 6028 or 玩家数据[临时id].角色.数据.地图数据.编号 == 6029 or 玩家数据[临时id].角色.数据.地图数据.编号 == 6030 then
                  地图处理类:跳转地图(临时id,1070,52,74)
                end
              else
                副本数据.通天河.完成[临时id]=true
              end
            end
            if 任务数据[n].战斗==nil then
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          elseif 游泳开关==false and 任务数据[n].类型==108 then
            地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
            任务数据[n]=nil
          elseif 游泳开关==false and  任务数据[n].类型==109 then
            任务数据[n]=nil
          elseif 任务数据[n].类型==110 then
            if 玩家数据[任务数据[n].玩家id]~=nil and 玩家数据[任务数据[n].玩家id].战斗==0  then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              if 任务数据[n].分类==1 then
                地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              end
              任务数据[n]=nil
            elseif 玩家数据[任务数据[n].玩家id]==nil then
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          elseif 任务数据[n].类型==111 then
            if 玩家数据[任务数据[n].玩家id]~=nil and 玩家数据[任务数据[n].玩家id].战斗==0  then
              玩家数据[任务数据[n].玩家id].角色:取消任务(n)
              发送数据(玩家数据[任务数据[n].玩家id].连接id,39)
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            elseif 玩家数据[任务数据[n].玩家id]==nil then
              地图处理类:删除单位(任务数据[n].地图编号,任务数据[n].单位编号)
              任务数据[n]=nil
            end
          end
        end
      end
    end
  end
end

function 任务处理类:取编号()
  for n, v in pairs(任务数据) do
    if n==nil and n>=1000 then
      return n
    end
  end
  local 临时id=#任务数据+1
  if 任务数据[临时id]==nil then
    return 临时id
  else
    for n=1000,100000 do
      if 任务数据[n]==nil then return n end
    end
  end
end

function 任务处理类:设置幼儿园(id)
  local 临时数量=取随机数(5,8)
  local 地图=1193
  local 结束时间 = 1800
  for n=1,临时数量 do
    local 任务id=id.."_101_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    随机序列=随机序列+1
    xy=地图处理类.地图坐标[地图]:取随机点()
    local 模型=取随机怪(1,130)
    模型=模型[2]
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称=模型.."宝宝",
      模型=模型,
      等级=取随机数(1,140),
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=102
    }
    if 取随机数()<=50 then
      任务数据[任务id].变异=true
      任务数据[任务id].名称="变异"..模型
    end
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#Y/%s#W/在挖宝时砸坏了#S/怪物幼儿园#W/，一群宝宝正在#Y/%s#w/哭闹,各路英雄快来领养#46",玩家数据[id].角色.数据.名称,取地图名称(地图)),频道="xt"})
end

function 任务处理类:添加皇宫贼王任务(id)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
    常规提示(id,"#Y/该任务必须组队完成且由队长领取")
    return
  elseif 取队伍最低等级(玩家数据[id].队伍,50) then
    常规提示(id,"#Y/等级小于50级的玩家无法领取此任务")
    return
  elseif 取队伍人数(id)<3 then
    常规提示(id,"#Y/本任务至少需要五人组队完成")
    return
  end
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    if 皇宫飞贼.贼王[临时id]==nil or 皇宫飞贼.贼王[临时id]<5 then
      添加最后对话(id,format("缉拿贼王需要先完成5轮飞贼任务,#G%s#W尚未满足条件。",玩家数据[临时id].角色.数据.名称))
      return
    elseif 皇宫飞贼.贼王[临时id]==-1 then
      添加最后对话(id,format("#G%s#W在本次活动中已经成功缉拿过贼王，现在不可以再次领取缉拿贼王任务哟。贼王任务每次活动都只可缉拿一次哟。",玩家数据[临时id].角色.数据.名称))
      return
    end
  end
  战斗准备类:创建战斗(id,100023,0)
end



function 任务处理类:添加皇宫飞贼任务(id)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
    常规提示(id,"#Y/该任务必须组队完成且由队长领取")
    return
  elseif 取队伍最低等级(玩家数据[id].队伍,50) then
    常规提示(id,"#Y/等级小于50级的玩家无法领取此任务")
    return
  elseif 取队伍任务(玩家数据[id].队伍,12) then
    常规提示(id,"#Y/队伍中已有队员领取过此任务了")
    return
  elseif 取队伍人数(id)<3 then
    常规提示(id,"#Y/本任务至少需要五人组队完成")
    return
  end
  local 任务id=id.."_12_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  if 皇宫飞贼[id]==nil then
    皇宫飞贼[id]=1
  end
  local 模型="护卫"
  local 名称 = "江湖大盗"
  if 皇宫飞贼[id]==1 then
    名称="毛贼"
    模型="强盗"
  elseif 皇宫飞贼[id]==2 then
    名称="销赃贼"
    模型="吸血鬼"
  elseif 皇宫飞贼[id]==3 then
    名称="宝贼"
    模型="夜罗刹"
  elseif 皇宫飞贼[id]==4 then
    名称="盗贼首领"
    模型="雨师"
  end
  local 地图=1193
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local x临时人物队伍={}
  if 玩家数据[id].队伍~=nil and 玩家数据[id].队伍~=0 then
    for i=1,#队伍数据[玩家数据[id].队伍].成员数据 do
      if 队伍数据[玩家数据[id].队伍].成员数据[i]~=nil then
        x临时人物队伍[#x临时人物队伍+1]=队伍数据[玩家数据[id].队伍].成员数据[i]
      end
    end
  end
  任务数据[任务id]={
    领取人id=x临时人物队伍,
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id={},
    队伍组={},
    名称=名称,
    模型=模型,
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=12,
    分类=皇宫飞贼[id]
  }
  地图处理类:添加单位(任务id)
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    if 皇宫飞贼[临时id]==nil then
      皇宫飞贼[临时id]=1
    end
    任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=临时id
    玩家数据[临时id].角色.数据.江湖次数=玩家数据[临时id].角色.数据.江湖次数+1
    玩家数据[临时id].角色:添加任务(任务id)
    发送数据(玩家数据[临时id].连接id,1501,{名称="御林军左统领",模型="护卫",对话=format("据可靠消息，偷盗皇宫宝物的#Y/%s#W/正躲藏#G/%s(%s,%s)#W/附近，请立即前去缉拿。",任务数据[任务id].名称,任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y)})
  end
end

function 任务处理类:添加江湖任务(id)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
     常规提示(id,"#Y/该任务必须组队完成且由队长领取")
     return
    elseif 取队伍最低等级(玩家数据[id].队伍,30) then
     常规提示(id,"#Y/等级小于30级的玩家无法领取此任务")
     return
   elseif 取队伍最高等级(玩家数据[id].队伍,80) then
     常规提示(id,"#Y/等级大于80级的玩家无法领取此任务")
     return
    elseif 取队伍任务(玩家数据[id].队伍,11) then
     常规提示(id,"#Y/队伍中已有队员领取过此任务了")
     return
  elseif 取队伍人数(id)<3 then
    常规提示(id,"#Y/本任务至少需要三人组队完成")
    return
  end
  local 任务id=id.."_11_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  local 地图范围={1501,1193,1506}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local 随机参数=取随机数()
  local 模型="护卫"
  local 名称 = "江湖大盗"
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local x临时人物队伍={}
  if 玩家数据[id].队伍~=nil and 玩家数据[id].队伍~=0 then
    for i=1,#队伍数据[玩家数据[id].队伍].成员数据 do
      if 队伍数据[玩家数据[id].队伍].成员数据[i]~=nil then
        x临时人物队伍[#x临时人物队伍+1]=队伍数据[玩家数据[id].队伍].成员数据[i]
      end
    end
  end
  任务数据[任务id]={
    领取人id=x临时人物队伍,
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id={},
    队伍组={},
    名称=名称,
    模型=模型,
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=11
  }
  地图处理类:添加单位(任务id)
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=临时id
    玩家数据[临时id].角色.数据.江湖次数=玩家数据[临时id].角色.数据.江湖次数+1
    玩家数据[临时id].角色:添加任务(任务id)
    发送数据(玩家数据[临时id].连接id,1501,{名称="杜少海",模型="男人_店小二",对话=format("听说近日有#Y/%s#W/正在#G/%s(%s,%s)#W/处作恶，请立即前去查明真相。这些江湖大盗中有不少为侠客所扮，所以请少侠多仔细分辨他们的身份。",任务数据[任务id].名称,任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y)})
  end
end

function 任务处理类:开启拯救小姐姐副本(id)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
    常规提示(id,"#Y/该任务必须组队完成且由队长领取")
    return
  elseif 取队伍人数(id)<3 then
    常规提示(id,"#Y此副本要求队伍人数不低于5人")
    return
  elseif  取等级要求(id,50)==false then
    常规提示(id,"#Y此副本要求角色等级不能低于50级")
    return
  end
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    if 副本数据.乌鸡国.完成[临时id]~=nil then
      常规提示(id,"#Y"..玩家数据[临时id].角色.数据.名称.."本日已经完成过此副本了")
      return
    elseif 玩家数据[临时id].角色:取任务(120)~=0 then
      常规提示(id,"#Y"..玩家数据[临时id].角色.数据.名称.."正在进行副本任务，无法领取新的副本")
      return
    end
  end
  副本数据.乌鸡国.进行[id]={进程=1}
  local 任务id=id.."_120_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=7200,
    玩家id={},
    队伍组={},
    副本id=id,
    类型=120
  }
  副本数据.乌鸡国.进行[id].真实副本id = 任务id
  for n=1,#队伍数据[队伍id].成员数据 do
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=队伍数据[队伍id].成员数据[n]
    end
  end
  self:设置乌鸡国副本(id)
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 临时id=队伍数据[队伍id].成员数据[n]
      玩家数据[临时id].角色:添加任务(任务id)
      常规提示(临时id,"#Y你开启了拯救小姐姐副本")
    end
  end
end

function 任务处理类:设置乌鸡国副本(id)
  if 副本数据.乌鸡国.进行[id]==nil then
    return
  end
  local fbid = 副本数据.乌鸡国.进行[id].真实副本id
  local 数量=15
  if 副本数据.乌鸡国.进行[id].进程==1 then
    副本数据.乌鸡国.进行[id].数量=数量
    for n=1,数量 do
      local 任务id=id.."_121_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..n
      local 地图=6001
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称="山贼",
        模型="山贼",
        变异=true,
        行走开关=true,
        x=xy.x,
        y=xy.y,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=121,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.乌鸡国.进行[id].进程==2 then
    副本数据.乌鸡国.进行[id].数量=数量
    for n=1,数量 do
      local 任务id=id.."_122_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..n
      local 地图=6001
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称="热心人",
        模型="热心仙人",
        x=xy.x,
        y=xy.y,
        行走开关=true,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=122,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.乌鸡国.进行[id].进程==3 then
    副本数据.乌鸡国.进行[id].数量=0
    副本数据.乌鸡国.进行[id].序列={false,false,false}
    for n=1,1 do
      local 任务id=id.."_123_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..n
      local 地图=6001
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称="山贼王",
        模型="文伯",
        x=115,
        y=71,
        方向=1,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=123,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
    local 名称={"囚神妖怪","拘灵妖怪","缚仙妖怪"}
    --local xy={{x=55,y=42},{x=58,y=25},{x=70,y=54}}
    for n=1,3 do
      local 任务id=id.."_124_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..n
      local 地图=6002
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称=名称[n],
        模型="山贼",
        x=xy.x,
        y=xy.y,
        行走开关=true,
        序列=n,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=124,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.乌鸡国.进行[id].进程==4 then
    副本数据.乌鸡国.进行[id].数量=数量
    local 随机模型={"牛妖","花妖","黑熊精","蛤蟆精"}
    for n=1,数量 do
      local 任务id=id.."_125_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..n
      local 地图=6002
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称="鬼祟小怪",
        模型=随机模型[取随机数(1,#随机模型)],
        x=xy.x,
        y=xy.y,
        行走开关=true,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=125,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.乌鸡国.进行[id].进程==5 then
    副本数据.乌鸡国.进行[id].数量=2
    local xy={{x=50,y=47},{x=59,y=42}}
    local 方向={{2},{1}}
    local 真假={false,false}
    真假[取随机数(1,2)]=true
    for n=1,2 do
      local 任务id=id.."_126_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..n
      local 地图=6002
      --local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称="山贼王",
        模型="文伯",
        x=xy[n].x,
        y=xy[n].y,
        真假=真假[n],
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=126,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
  end
end

function 任务处理类:副本传送(id,类型)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
    常规提示(id,"#Y/该任务必须组队完成且由队长领取")
    return
  elseif 取队伍人数(id)<1 then
    常规提示(id,"#Y此副本要求队伍人数不低于5人")
    return
  end
  if 类型==1 then --乌鸡国
    if 玩家数据[id].角色:取任务(120)==0 then
      常规提示(id,"#Y/你尚未开启此副本")
      return
    elseif 玩家数据[id].队伍 ~= 0 then
      for i=1,#队伍数据[玩家数据[id].队伍 ].成员数据 do
        if i~=1 and (玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色:取任务(120)==0 or 玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色:取任务(120) ~= 玩家数据[id].角色:取任务(120) ) then
          常规提示(id,玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色.数据.名称.."#Y/尚未开启此副本或者与您并不是同一个副本")
          return
        end
      end
    end
    local 副本id=任务数据[玩家数据[id].角色:取任务(120)].副本id
    local 进程=副本数据.乌鸡国.进行[副本id].进程
    local 地图=6001
    local x=0
    local y=0
    if 进程<3 then
      x,y=112,14
    else
      地图=6002
      x,y=29,56
    end
    地图处理类:跳转地图(id,地图,x,y)
  elseif 类型==2 then --车迟斗法副本
    if 玩家数据[id].角色:取任务(130)==0 then
      常规提示(id,"#Y/你尚未开启此副本")
      return
    elseif 玩家数据[id].队伍 ~= 0 then
      for i=1,#队伍数据[玩家数据[id].队伍 ].成员数据 do
        if i~=1 and (玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色:取任务(130)==0 or 玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色:取任务(130) ~= 玩家数据[id].角色:取任务(130) ) then
          常规提示(id,玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色.数据.名称.."#Y/尚未开启此副本或者与您并不是同一个副本")
          return
        end
      end
    end
    local 副本id=任务数据[玩家数据[id].角色:取任务(130)].副本id
    local 进程=副本数据.车迟斗法.进行[副本id].进程
    local 地图=6021
    local x=0
    local y=0
    if 进程<4 then
      x,y=10,133
    elseif 进程<5 then
      地图=6022
      x,y=38,32
    else
      地图=6023
      x,y=40,153
    end
    地图处理类:跳转地图(id,地图,x,y)
  elseif 类型==3 then --水陆大会副本
    if 玩家数据[id].角色:取任务(150)==0 then
      常规提示(id,"#Y/你尚未开启此副本")
      return
    elseif 玩家数据[id].队伍 ~= 0 then
      for i=1,#队伍数据[玩家数据[id].队伍 ].成员数据 do
        if i~=1 and (玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色:取任务(150)==0 or 玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色:取任务(150) ~= 玩家数据[id].角色:取任务(150) ) then
          常规提示(id,玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色.数据.名称.."#Y/尚未开启此副本或者与您并不是同一个副本")
          return
        end
      end
    end
    local 副本id=任务数据[玩家数据[id].角色:取任务(150)].副本id
    local 进程=副本数据.水陆大会.进行[副本id].进程
    local 地图=6024
    local x=35
    local y=71
    地图处理类:跳转地图(id,地图,x,y)
  elseif 类型==4 then --通天河副本
    if 玩家数据[id].角色:取任务(160)==0 then
      常规提示(id,"#Y/你尚未开启此副本")
      return
    elseif 玩家数据[id].队伍 ~= 0 then
      for i=1,#队伍数据[玩家数据[id].队伍 ].成员数据 do
        if i~=1 and (玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色:取任务(160)==0 or 玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色:取任务(160) ~= 玩家数据[id].角色:取任务(160) ) then
          常规提示(id,玩家数据[队伍数据[玩家数据[id].队伍].成员数据[i]].角色.数据.名称.."#Y/尚未开启此副本或者与您并不是同一个副本")
          return
        end
      end
    end
    local 副本id=任务数据[玩家数据[id].角色:取任务(160)].副本id
    local 进程=副本数据.通天河.进行[副本id].进程
    local 地图=6027
    local x=100
    local y=100
    if 进程<6 then
      x,y=100,100
    elseif 进程<9 then
      地图=6028
      x,y=27,22
    elseif 进程<10 then
      地图=6029
      x,y=103,59
    else
      地图=6030
      x,y=106,38
    end
    地图处理类:跳转地图(id,地图,x,y)
  end
end

function 任务处理类:添加抓鬼任务(id)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
    常规提示(id,"#Y/该任务必须组队完成且由队长领取")
    return
  elseif 取队伍最低等级(玩家数据[id].队伍,40) then
    常规提示(id,"#Y/等级小于40级的玩家无法领取此任务")
    return
  elseif 取队伍任务(玩家数据[id].队伍,8) then
    常规提示(id,"#Y/队伍中已有队员领取过此任务了")
    return
  end
  local 任务id=id.."_8_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  local 地图范围={1501,1070,1193,1173,1146,1140,1040,1226,1142}  --1208,1092,
  local 地图=地图范围[取随机数(1,#地图范围)]
  local 随机参数=取随机数()
  local 模型="僵尸"
  if 随机参数<=15 then
    模型="野鬼"
  elseif 随机参数<=15 then
    模型="野鬼"
  elseif 随机参数<=30 then
    模型="牛头"
  elseif 随机参数<=50 then
    模型="马面"
  elseif 随机参数<=60 then
    模型="骷髅怪"
  end
  local 时辰库 = {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"}
  local 时刻库 = {"一","二","三","四","五","六"}
  local 鬼名库 = {"诌鬼","假鬼","奸鬼","捣蛋鬼","冒失鬼","烟沙鬼","挖渣鬼","仔细鬼","讨吃鬼","醉死鬼","抠掏鬼","伶俐鬼","急突鬼","丢谎鬼","乜斜鬼","撩桥鬼","饿鬼","色鬼","穷鬼","刻山鬼","吸血鬼","惊鸿鬼","清明鬼"}
  local 名称 = 时辰库[取随机数(1,#时辰库)].."时"..时刻库[取随机数(1,#时刻库)].."刻"..鬼名库[取随机数(1,#鬼名库)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  -- xy={x=57,y=74}
  local 临时下限={x=xy.x-50,y=xy.y-50}
  if 临时下限.x<=0 then
    临时下限.x=1
  end
  if 临时下限.y<=0 then
    临时下限.y=1
  end
  local 临时上限={x=xy.x+50,y=xy.y+50}
  local 显示xy={x=取随机数(临时下限.x,临时上限.x),y=取随机数(临时下限.y,临时上限.y)}
  local x临时人物队伍={}
  if 玩家数据[id].队伍~=nil and 玩家数据[id].队伍~=0 then
    for i=1,#队伍数据[玩家数据[id].队伍].成员数据 do
      if 队伍数据[玩家数据[id].队伍].成员数据[i]~=nil then
        x临时人物队伍[#x临时人物队伍+1]=队伍数据[玩家数据[id].队伍].成员数据[i]
      end
    end
  end
  任务数据[任务id]={
    领取人id=x临时人物队伍,
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id={},
    队伍组={},
    名称=名称,
    模型=模型,
    x=xy.x,
    y=xy.y,
    显示x=显示xy.x,
    显示y=显示xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=8
  }
  地图处理类:添加单位(任务id)
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=临时id
    if  玩家数据[临时id].角色.数据.捉鬼次数==nil then  玩家数据[临时id].角色.数据.捉鬼次数=1 end
    if 玩家数据[临时id].角色.数据.捉鬼次数==10 and 取随机数(1,250) >= 200 then
        发送数据(玩家数据[临时id].连接id,1501,{名称="钟馗",模型="男人_钟馗",对话="少侠辛苦了，为了感谢少侠为地府做出的贡献，特意为你准备了一件法宝，希望少侠能够喜欢！",选项={"非常喜欢这法宝，谢谢！","我并不需要这个法宝"}})
    end
    if 玩家数据[临时id].角色.数据.捉鬼次数>10 then  玩家数据[临时id].角色.数据.捉鬼次数=1 end
    玩家数据[临时id].角色:添加任务(任务id)
    if 捉鬼数据[临时id]==nil then
      捉鬼数据[临时id]=1
    end
    发送数据(玩家数据[临时id].连接id,1501,{名称="钟馗",模型="男人_钟馗",对话=format("听说近日有#Y/%s#W/正在#G/%s(%s,%s)#W/处作恶，请立即前去降服。",任务数据[任务id].名称,任务数据[任务id].地图名称,任务数据[任务id].显示x,任务数据[任务id].显示y)})
  end
end
function 任务处理类:设置鬼王任务(id)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
    常规提示(id,"#Y/该任务必须组队完成且由队长领取")
    return
  elseif 取队伍最低等级(玩家数据[id].队伍,100) then
    常规提示(id,"#Y/等级小于100级的玩家无法领取此任务")
    return
  elseif 取队伍任务(玩家数据[id].队伍,16) then
    常规提示(id,"#Y/队伍中已有队员领取过此任务了")
    return
  end
  local 任务id=id.."_16_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  local 地图范围={1501,1070,1193,1173,1146,1140,1040,1226,1142}  --1208,1092,
  local 地图=地图范围[取随机数(1,#地图范围)]
  local 随机参数=取随机数(1,70)
  local 模型="进阶夜罗刹"
  if 随机参数<=15 then
    模型="吸血鬼"
  elseif 随机参数<=15 then
    模型="进阶吸血鬼"
  elseif 随机参数<=30 then
    模型="进阶幽灵"
  elseif 随机参数<=50 then
    模型="进阶千年蛇魅"
  elseif 随机参数<=60 then
    模型="进阶鬼将"
  end
  local 时辰库 = {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"}
  local 时刻库 = {"一","二","三","四","五","六"}
  local 鬼名库 = {"诌鬼王","假鬼王","奸鬼王","蛋鬼王","失鬼王","烟鬼王","渣鬼王","细鬼王","吃鬼王","醉鬼王","抠鬼王","俐鬼王","急鬼王","谎鬼王","斜鬼王","撩鬼王","饿鬼王","色鬼王","山鬼王","血鬼王","惊鬼王","明鬼王"}
  local 名称 = 时辰库[取随机数(1,#时辰库)].."时"..时刻库[取随机数(1,#时刻库)].."刻"..鬼名库[取随机数(1,#鬼名库)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  -- xy={x=57,y=74}
  local 临时下限={x=xy.x-50,y=xy.y-50}
  if 临时下限.x<=0 then
    临时下限.x=1
  end
  if 临时下限.y<=0 then
    临时下限.y=1
  end
  local 临时上限={x=xy.x+50,y=xy.y+50}
  local 显示xy={x=取随机数(临时下限.x,临时上限.x),y=取随机数(临时下限.y,临时上限.y)}
  local x临时人物队伍={}
  if 玩家数据[id].队伍~=nil and 玩家数据[id].队伍~=0 then
    for i=1,#队伍数据[玩家数据[id].队伍].成员数据 do
      if 队伍数据[玩家数据[id].队伍].成员数据[i]~=nil then
        x临时人物队伍[#x临时人物队伍+1]=队伍数据[玩家数据[id].队伍].成员数据[i]
      end
    end
  end
  任务数据[任务id]={
    领取人id=x临时人物队伍,
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id={},
    队伍组={},
    名称=名称,
    模型=模型,
    x=xy.x,
    y=xy.y,
    显示x=显示xy.x,
    显示y=显示xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=16
  }
  地图处理类:添加单位(任务id)
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=临时id
    if  玩家数据[临时id].角色.数据.捉鬼次数==nil then  玩家数据[临时id].角色.数据.捉鬼次数=1 end
    if 玩家数据[临时id].角色.数据.捉鬼次数==10 and 取随机数(1,250) >= 200 then
        发送数据(玩家数据[临时id].连接id,1501,{名称="黑无常",模型="黑无常",对话="少侠辛苦了，为了感谢少侠为地府做出的贡献，特意为你准备了一件法宝，希望少侠能够喜欢！",选项={"非常喜欢这法宝，谢谢！","我并不需要这个法宝"}})
    end
    if 玩家数据[临时id].角色.数据.捉鬼次数>10 then  玩家数据[临时id].角色.数据.捉鬼次数=1 end
    玩家数据[临时id].角色:添加任务(任务id)
    if 捉鬼数据[临时id]==nil then
      捉鬼数据[临时id]=1
    end
    发送数据(玩家数据[临时id].连接id,1501,{名称="黑无常",模型="黑无常",对话=format("听说近日有#Y/%s#W/正在#G/%s(%s,%s)#W/处作恶，请立即前去降服。",任务数据[任务id].名称,任务数据[任务id].地图名称,任务数据[任务id].显示x,任务数据[任务id].显示y)})
  end
end

function 任务处理类:设置大雁塔怪(id)
  local 地图范围={1004,1005,1006,1007,1008,1090}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 临时数量=取随机数(30,50)
    local 地图=地图范围[i]
    x待发送数据[地图]={}
    for n=1,临时数量 do
      local 任务id=地图.."_103_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 模型范围=取明雷(地图)
      local 模型=模型范围[取随机数(1,#模型范围)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=600,
        玩家id=0,
        队伍组={},
        名称=模型,
        模型=模型,
        等级=取随机数(1,140),
        x=xy.x,
        y=xy.y,
        事件="明雷",
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=103
      }
      table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
    end
  end
  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据=nil
end

function 任务处理类:设置建邺东海小活动(id)
  local 地图范围={1501,1506}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 临时数量=取随机数(30,50)
    local 地图=地图范围[i]
    x待发送数据[地图]={}
    for n=1,临时数量 do
      local 任务id=地图.."_127_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 模型范围={"银两","食物","摄妖香","药品","海星","海毛虫","大海龟","巨蛙"}--"宠物口粮",
      local 模型=模型范围[取随机数(1,#模型范围)]
      local x称谓 = nil
      if 模型=="海星" or 模型=="海毛虫" or 模型=="大海龟" or 模型=="巨蛙" then
        x称谓="宝宝"
      end
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=600,
        玩家id=0,
        队伍组={},
        名称=模型,
        模型=模型,
        等级=取随机数(1,140),
        称谓=x称谓,
        x=xy.x,
        y=xy.y,
        事件="明雷活动",
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=127
      }
      -- 地图处理类:添加单位(任务id)
      table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
    end
  end
  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据=nil
end

function 任务处理类:设置封妖任务(id)
  local 临时数量=取随机数(5,8)
  玩家数据[id].角色:添加储备(临时数量*5000,"挖宝放妖")
  常规提示(id,"#Y/你不慎挖塌了妖怪家的房子，却意外的发现了#R/"..(临时数量*20000).."#Y/点储备金")
  local 地图范围={1193,1110,1173,1092,1091,1174,1210}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local 封妖等级={[1193]=35,[1110]=45,[1173]=45,[1092]=55,[1091]=65,[1174]=75,[1210]=95}
  for n=1,临时数量 do
    local 任务id=id.."_101_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    随机序列=随机序列+1
    local 模型="黑山老妖"
    local xy=地图处理类.地图坐标[地图]:取随机点()
    if 取随机数()<=50 then
      模型="地狱战神"
    end
    结束时间=1800
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="远古魔王",
      模型=模型,
      等级=封妖等级[地图],
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=101
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#Y/%s#W/在挖宝时不慎挖塌了妖怪家的房子，现在一群无家可归的妖怪正在#Y/%s#w/寻衅闹事，各路英雄赶快前往平乱啊！#35",玩家数据[id].角色.数据.名称,取地图名称(地图)),频道="xt"})
end

function 任务处理类:完成封妖任务(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 等级=任务数据[任务id].等级
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
  local 经验=等级*2000
  local 银子=等级*1500
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"封妖战斗",1)
      玩家数据[id].角色:添加银子(银子,"封妖战斗",1)
      if 活跃数据[id]==nil then
        活跃数据[id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
      end
      if 活跃数据[id].封妖次数==nil then
        活跃数据[id].封妖次数=3
      end
      if 活跃数据[id].封妖次数>0 then
        玩家数据[id].角色:添加活跃度(20,"封妖任务",1)
        活跃数据[id].封妖次数=活跃数据[id].封妖次数-1
      end
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"封妖战斗")
      end
      local 奖励参数=取随机数()
      if 奖励参数<=10 then
        local 奖励等级=math.floor(等级/10)
        if 奖励等级>8 then 奖励等级=8 end
        玩家数据[id].道具:取随机装备(id,奖励等级,返回)
      elseif 奖励参数<=15 then
        玩家数据[id].道具:给予道具(id,"超级金柳露")
      elseif 奖励参数<=20 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
      end
    end
  end
end

function 任务处理类:完成宝图任务(任务id)
  local 临时金钱=取随机数(10000,100000)
  local id=任务数据[任务id].玩家id
  玩家数据[id].角色:添加银子(临时金钱,"完成宝图任务",1)
  local 获得宝图=取随机数(1,100)
  if 老唐定制 then
      获得宝图=50
  end
  if 获得宝图<=50 then
    玩家数据[id].道具:给予道具(id,"藏宝图",0)
    常规提示(id,"#Y/你获得了一张藏宝图")
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  玩家数据[id].角色:取消任务(任务id)
  任务数据[任务id]=nil
end

function 任务处理类:完成门派任务(id,类型,双倍)
  local 任务id=玩家数据[id].角色:取任务(111)
  if 任务数据[任务id]==nil or 任务数据[任务id].分类~=类型 then
    常规提示(id,"#Y/你没有这样的任务")
    return
  end
  local 等级=玩家数据[id].角色.数据.等级
  local 基础经验=qz(等级*2000)
  local 基础银子=qz(等级*2000)
  基础经验=qz(基础经验*(1+玩家数据[id].角色.数据.师门次数*0.1))
  基础银子=qz(基础银子*(1+玩家数据[id].角色.数据.师门次数*0.1))
  local 经验=基础经验
  local 银子=基础银子
  if 类型==4 then
    银子=银子*2
  end
  if 双倍~=nil then
    经验=经验+基础经验
    银子=银子+基础银子
  end
  if 师门数据[id]==nil then
    师门数据[id]=0
  end
  if 师门数据[id]<=20 then
    经验=经验+基础经验
    银子=银子+基础银子
    师门数据[id]=师门数据[id]+1
    if 师门数据[id]==20 then
      local 额外银子=qz(等级*等级*2.5+10000)
      local 额外经验=qz(等级*20+20000)
      玩家数据[id].角色:添加经验(额外经验,"20次门派任务-"..类型)
      玩家数据[id].角色:添加银子(额外银子,"20次门派任务-"..类型,1)
    end
    if 玩家数据[id].角色.数据.师门次数==6 or 玩家数据[id].角色.数据.师门次数==7 then
      玩家数据[id].角色.数据.门贡=玩家数据[id].角色.数据.门贡+1
      常规提示(id,"#Y你获得了1点门派贡献度")
    elseif 玩家数据[id].角色.数据.师门次数==8 then
      玩家数据[id].角色.数据.门贡=玩家数据[id].角色.数据.门贡+2
      常规提示(id,"#Y你获得了2点门派贡献度")
    elseif 玩家数据[id].角色.数据.师门次数==9 or 玩家数据[id].角色.数据.师门次数==10 then
      玩家数据[id].角色.数据.门贡=玩家数据[id].角色.数据.门贡+3
      常规提示(id,"#Y你获得了3点门派贡献度")
      if 玩家数据[id].角色.数据.师门次数==10 and 取随机数()<=5 then
        玩家数据[id].道具:给予道具(id,"九转金丹",1,500)
        常规提示(id,"#Y你获得了九转金丹")
      end
      if 老唐定制 and 玩家数据[id].角色.数据.师门次数==10 then
        玩家数据[id].道具:给予道具(id,"九转金丹",1,500)
      end
    end
  end
  玩家数据[id].角色:添加经验(经验,"门派任务-"..类型)
  if 老唐定制 then
    玩家数据[id].角色:添加银子(100000,"门派任务-"..类型,1)
  else
    玩家数据[id].角色:添加银子(银子*2,"门派任务-"..类型,1)
  end

  if 活跃数据[id]==nil then
    活跃数据[id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
  end
  if 活跃数据[id].师门次数==nil then
    活跃数据[id].师门次数=20
  end
  if 活跃数据[id].师门次数>0 then
    玩家数据[id].角色:添加活跃度(2,"师门任务",1)
    活跃数据[id].师门次数=活跃数据[id].师门次数-1
  end
  if 玩家数据[id].角色.数据.参战信息~=nil then
    玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,qz(经验*0.5),id,"门派任务",self.地图等级)
  end
  玩家数据[id].角色:取消任务(任务id)
  任务数据[任务id]=nil
end

function 任务处理类:完成官职任务(id,类型)
  local 任务id=玩家数据[id].角色:取任务(110)
  if 任务数据[任务id]==nil or 任务数据[任务id].分类~=类型 then
    常规提示(id,"#Y/你没有这样的任务")
    return
  end
  local 等级=玩家数据[id].角色.数据.等级
  local 经验=qz(等级*2000+1000)
  local 银子=qz(等级*100)*15
  玩家数据[id].角色:添加经验(经验,"官职")
  if 活跃数据[id]==nil then
    活跃数据[id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
  end
  if 活跃数据[id].官职次数==nil then
    活跃数据[id].官职次数=20
  end
  if 活跃数据[id].官职次数>0 then
    玩家数据[id].角色:添加活跃度(2,"官职任务",1)
    活跃数据[id].官职次数=活跃数据[id].官职次数-1
  end
  if 玩家数据[id].角色.数据.参战信息~=nil then
    玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,qz(经验*0.5),id,"官职",self.地图等级)
  end
  if 类型==4 then
    玩家数据[id].角色:添加银子(银子*2,"官职",1)
  else
    玩家数据[id].角色:添加储备(银子,"官职",1)
  end
  local 官职点=1
  if 玩家数据[id].角色.数据.官职次数>5 then
    官职点=2
  end
  常规提示(id,format("#Y/你获得了%s点官职贡献度",官职点))
  玩家数据[id].角色.数据.官职点=玩家数据[id].角色.数据.官职点+官职点
  if 玩家数据[id].角色.数据.官职次数>=10 then
    玩家数据[id].角色.数据.官职次数=0
    if 让海啸席卷 then
      local 奖励参数=取随机数()
      if 奖励参数<=40 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,1)
        发送数据(玩家数据[id].连接id,38,{内容="你得到了#R/"..名称})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(官职任务)#R/%s#Y为朝天尽心尽力，十分出色地完成了李将军交代的任务，李将军特地奖励其#G/%s#R/以资鼓励。",玩家数据[id].角色.数据.名称,名称),频道="xt"})
        if 取随机数()<=20 then
          local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        end
      elseif 奖励参数<=40 then
        local 名称="三界悬赏令"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(官职任务)#R/%s#Y为朝天尽心尽力，十分出色地完成了李将军交代的任务，李将军特地奖励其#G/%s#R/以资鼓励。",玩家数据[id].角色.数据.名称,名称),频道="xt"})
       elseif 奖励参数<=70 then
        local 名称="清灵仙露"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(官职任务)#R/%s#Y为朝天尽心尽力，十分出色地完成了李将军交代的任务，李将军特地奖励其#G/%s#R/以资鼓励。",玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=90 then
        local 名称="元宝"
        添加元宝(取随机数(2,5),玩家数据[id].账号,id,"官职任务")
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(官职任务)#R/%s#Y为朝天尽心尽力，十分出色地完成了李将军交代的任务，李将军特地奖励其#G/%s#R/以资鼓励。",玩家数据[id].角色.数据.名称,名称),频道="xt"})
      else
        local 名称="鬼谷子"
        玩家数据[id].道具:给予道具(id,名称,1)
        发送数据(玩家数据[id].连接id,38,{内容="你得到了#R/"..名称})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(官职任务)#R/%s#Y为朝天尽心尽力，十分出色地完成了李将军交代的任务，李将军特地奖励其#G/%s#R/以资鼓励。",玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    else
      if 取随机数()<=90 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,1)
        发送数据(玩家数据[id].连接id,38,{内容="你得到了#R/"..名称})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(官职任务)#R/%s#Y为朝天尽心尽力，十分出色地完成了李将军交代的任务，李将军特地奖励其#G/%s#R/以资鼓励。",玩家数据[id].角色.数据.名称,名称),频道="xt"})
        if 取随机数()<=20 then
          local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        end
      else
        local 名称="鬼谷子"
        玩家数据[id].道具:给予道具(id,名称,1)
        发送数据(玩家数据[id].连接id,38,{内容="你得到了#R/"..名称})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(官职任务)#R/%s#Y为朝天尽心尽力，十分出色地完成了李将军交代的任务，李将军特地奖励其#G/%s#R/以资鼓励。",玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  if 类型==2 then
    地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  end
  玩家数据[id].角色:取消任务(任务id)
  任务数据[任务id]=nil
end

function 任务处理类:添加门派任务(id,门派)
  if 玩家数据[id].角色.数据.等级<20 then
    添加最后对话(id,"领取师门任务需要等级达到20级方可领取，你还是先去努力练级吧#1")
    return
  elseif 玩家数据[id].角色:取任务(111)~=0 then
    添加最后对话(id,"为师先前不是已经给了你任务吗？你怎么还没有去完成呢？")
    return
  end
  local 任务参数={1,80} -- 30=送信 20巡逻 20 找bb 10 寻物 30示威  30门派支援 30 乾坤袋
  local 等级=玩家数据[id].角色.数据.等级
  if  等级>=90 then
   任务参数={31,100}
   end
  if  等级>=100 then
   任务参数={31,170}
   end
   if  等级>=120 then
   任务参数={71,170}
   end

  local 任务类型=取随机数(任务参数[1],任务参数[2])
  if 任务类型<=30 then
   任务类型=1
  elseif 任务类型<=50 then
   任务类型=2
  -- elseif 任务类型<=70 then
  --  任务类型=3
  elseif 任务类型<=80 then
   任务类型=4
  elseif 任务类型<=110 then
   任务类型=5
  elseif 任务类型<=140 then
   任务类型=6
  elseif 任务类型<=175 then
   任务类型=7
  end
  if 任务类型==5 and 取门派示威对象(门派)==nil then
    任务类型=取随机数(3,4)
  end
  local 任务id=id.."_111_"..os.time()
  任务数据[任务id]={
    领取人id={id},
    id=任务id,
    起始=os.time(),
    结束=9999999,
    玩家id=id,
    队伍组={},
    分类=任务类型,
    门派师傅=玩家数据[id].最后对话.名称,
    类型=111
  }
  if 任务类型==1 then
   local 序列=取随机数(1,#Q_师门送信)
   任务数据[任务id].人物=Q_师门送信[序列].名称
   任务数据[任务id].人物地图=Q_师门送信[序列].地图
   添加最后对话(id,format("请帮我把这封送给#Y%s#W的%s，事出紧急，切勿在路上耽搁。",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物))
  elseif 任务类型==2 then
   任务数据[任务id].巡逻=0
   添加最后对话(id,"近日有妖魔鬼怪在本门派捣乱，请你在本门内进行巡逻，将那些前来捣乱的妖魔鬼怪清除掉。")
  elseif 任务类型==3 then
    self:设置师门bb(id,任务id)
    if 任务数据[任务id].要求==nil then
      添加最后对话(id,format("既然你终日无所事事，为师也不能让你就此荒废下去。那就去给我捉一只#Y%s",任务数据[任务id].bb))
    else
      添加最后对话(id,format("既然你终日无所事事，为师也不能让你就此荒废下去。那就去给我捉一只#R%s#W的#Y%s",任务数据[任务id].要求,任务数据[任务id].bb))
    end
  elseif 任务类型==4 then
   self:设置师门物品(id,任务id)
   if 任务数据[任务id].品质==nil then
     添加最后对话(id,format("门内物资紧缺，你前去寻找到#Y%s#W交给我吧。",任务数据[任务id].物品))
   else
     添加最后对话(id,format("门内物资紧缺，你前去寻找到#Y%s#W交给我吧。如果能找到品质达#R%s#W的，我会给你额外奖赏哟。",任务数据[任务id].物品,任务数据[任务id].品质))
     end
  elseif 任务类型==5 then
    local 临时对象=取门派示威对象(门派)
    任务数据[任务id].模型=临时对象.模型
    任务数据[任务id].名称=临时对象.名称
    任务数据[任务id].结束=3600
    if 临时对象.武器~=nil then
      任务数据[任务id].武器=临时对象.武器.名称
      任务数据[任务id].武器等级=临时对象.武器.级别限制
    end
    local 地图=取门派地图(玩家数据[临时对象.id].角色.数据.门派)
    地图=地图[1]
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id].地图编号=地图
    任务数据[任务id].地图名称=取地图名称(地图)
    任务数据[任务id].门派=玩家数据[临时对象.id].角色.数据.门派
    任务数据[任务id].x=xy.x
    任务数据[任务id].y=xy.y
    地图处理类:添加单位(任务id)
    添加最后对话(id,format("#Y%s的#R%s#W近日十分嚣张，不断来到本门派挑衅。你前去好好教训教训他，让他懂得为人要低调的道理。",玩家数据[临时对象.id].角色.数据.门派,任务数据[任务id].名称))
  elseif 任务类型==6 then
    local 人物=Q_随机模型[取随机数(1,5)]
    if 玩家数据[id].角色.数据.种族=="仙" then
      人物=Q_随机模型[取随机数(6,10)]
    elseif 玩家数据[id].角色.数据.种族=="魔" then
      人物=Q_随机模型[取随机数(11,15)]
    end
    local 地图范围={1070,1091,1514,1110,1174,1173}
    local 地图=地图范围[取随机数(1,#地图范围)]
    local xy=地图处理类.地图坐标[地图]:取随机点()
    --地图=1124
    --xy={x=35,y=27}
    任务数据[任务id].模型=人物
    任务数据[任务id].名称="苦战中的同门"
    任务数据[任务id].地图编号=地图
    任务数据[任务id].地图名称=取地图名称(地图)
    任务数据[任务id].x=xy.x
    任务数据[任务id].y=xy.y
    地图处理类:添加单位(任务id)
    添加最后对话(id,format("方才收到本门弟子紧急求救信号，请你立即赶往#Y%s#W进行支援。",任务数据[任务id].地图名称))
    任务数据[任务id].结束=3600
  elseif 任务类型==7 then
    local 种族=玩家数据[id].角色.数据.种族
    任务数据[任务id].名称=Q_乾坤袋[种族][取随机数(1,#Q_乾坤袋[种族])]
      local 模型={"强盗","山贼"}
    if 种族=="魔" then
      模型={"幽灵","吸血鬼"}
    elseif 种族=="仙" then
      模型={"灵符女娲","净瓶女娲"}
    end
    任务数据[任务id].模型=模型[取随机数(1,#模型)]
    local 地图范围={1070,1091,1514,1110,1174,1173}
    local 地图=地图范围[取随机数(1,#地图范围)]
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id].地图编号=地图
    任务数据[任务id].地图名称=取地图名称(地图)
    任务数据[任务id].x=xy.x
    任务数据[任务id].y=xy.y
    任务数据[任务id].结束=3600
    地图处理类:添加单位(任务id)
    添加最后对话(id,format("近日有#Y%s在#R%s#W附近作乱，请你携带乾坤袋前去将其降服。",任务数据[任务id].名称,任务数据[任务id].地图名称))
  end
  玩家数据[id].角色.数据.师门次数=玩家数据[id].角色.数据.师门次数+1
  if 玩家数据[id].角色.数据.师门次数==10 and 取随机数(1,250) >= 200 then
      发送数据(玩家数据[id].连接id,1501,{名称=玩家数据[id].最后对话.名称,模型=玩家数据[id].最后对话.模型,对话="徒儿辛苦了，出门在外非常艰苦，为师特意为你准备了一件法宝，希望徒儿能够喜欢！",选项={"非常喜欢这法宝，谢谢！","我并不需要这个法宝"}})
  end
  if 玩家数据[id].角色.数据.师门次数>10 then
    玩家数据[id].角色.数据.师门次数=1
  end
  玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:设置师门物品(id,任务id)
  local 等级=玩家数据[id].角色.数据.等级
  local 临时等级=等级
  --if 临时等级>80 then 临时等级=80 end
  local 药品名称={}
  if 取随机数()<=50  then
    if 等级<=60 then
      药品名称={"四叶花","紫丹罗","佛手","鬼切草","女儿红"}
    elseif 等级<=90 then
      药品名称={"四叶花","紫丹罗","佛手","鬼切草","鹿茸","仙狐涎","地狱灵芝","六道轮回","紫石英","烤鸭","珍露酒","佛跳墙","臭豆腐","翡翠豆腐","豆斋果"}
    else
      药品名称={"豆斋果","佛跳墙","长寿面","醉生梦死","九转回魂丹","蛇胆酒","佛光舍利子","金香玉","小还丹","蛇蝎美人","风水混元丹","千年保心丹","定神香","五龙丹","十香返生丸"}
    end
    任务数据[任务id].物品=药品名称[取随机数(1,#药品名称)]
    if 等级>90 then
      local 临时品质=63
      if 等级>=120 then
        临时品质=96
      end
      if 等级>=140 then
        临时品质=129
      end
      任务数据[任务id].品质=临时品质
    end
  else  --装备
    local 临时限制={1,3}
    if 等级<=50 then

    elseif 等级<=70 then
      临时限制={2,4}
    elseif 等级<=100 or 风雨无言定制 then
      临时限制={3,5}
    elseif 等级<=130 then
      临时限制={5,7}
    else
      临时限制={6,8}
    end
    临时限制=取随机数(临时限制[1],临时限制[2])
    local 物品名称=玩家数据[id].装备.打造物品[取随机数(1,23)][临时限制+1]
    if type(物品名称)=="table" then
      物品名称=物品名称[取随机数(1,#物品名称)]
    end
    任务数据[任务id].物品= 物品名称
  end
end

function 任务处理类:设置师门bb(id,任务id)
  local 等级=玩家数据[id].角色.数据.等级
  local 临时等级=等级-10
  if 临时等级>85 then 临时等级=85 end
  local 临时等级1=等级-50
  if 临时等级1<1 then 临时等级1=1 end
  local 类型=取等级怪(取随机数(临时等级1,临时等级))
  类型=取敌人信息(类型[取随机数(1,#类型)])
  类型=类型[2]
  local 要求={"武艺超群","身强体壮","法力无边","身手敏捷","刀枪不入"}
  local 要求1=nil
  if 等级>=100 then
    要求1=要求[取随机数(1,#要求)]
  end
  任务数据[任务id].bb=类型
  任务数据[任务id].要求=要求1
end

function 任务处理类:添加官职任务(id)
  if 玩家数据[id].角色.数据.官职间隔~=nil and os.time()-玩家数据[id].角色.数据.官职间隔<=600 then
    发送数据(玩家数据[id].连接id,1501,{名称="李将军",模型="男人_马副将",对话="由于你取消的任务次数过多，请等待十分钟后再来。"})
    return
  elseif 玩家数据[id].角色.数据.等级<50 then
    发送数据(玩家数据[id].连接id,1501,{名称="李将军",模型="男人_马副将",对话="你连五十级都没有，怎么帮我？"})
    return
  elseif 玩家数据[id].角色:取任务(110)~=0 then
    发送数据(玩家数据[id].连接id,1501,{名称="李将军",模型="男人_马副将",对话="你不是已经在我这里领取了任务嘛，怎么还不快完成呢？"})
    return
  end
  local 任务类型=取随机数(1,10) -- 1=抓流氓 2送军粮 3巡逻 4索要物品
  if 任务类型<=5 then
    任务类型=1
  elseif 任务类型<=7 then
    任务类型=2
  elseif 任务类型<=9 then
    任务类型=3
  else
    任务类型=4
  end
  local 任务id=id.."_110_"..os.time()
  任务数据[任务id]={
    领取人id={id},
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id=id,
    队伍组={},
    分类=任务类型,
    类型=110
  }
  发送数据(玩家数据[id].连接id,39)
  if 任务类型==1 then
   local 地图范围={1001,1501,1092,1070,1040,1226,1208}
   local 地图=地图范围[取随机数(1,#地图范围)]
   local xy=地图处理类.地图坐标[地图]:取随机点()
   任务数据[任务id].模型="赌徒"
   任务数据[任务id].名称="流氓"
   任务数据[任务id].地图编号=地图
   任务数据[任务id].地图名称=取地图名称(地图)
   任务数据[任务id].x=xy.x
   任务数据[任务id].y=xy.y
   任务数据[任务id].战斗次数=0
   地图处理类:添加单位(任务id)
   发送数据(玩家数据[id].连接id,1501,{名称="李将军",模型="男人_马副将",对话=format("目前有流氓正在#G/%s(%s,%s)#W/附近滋事，请你前去处理。",任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y)})
  elseif 任务类型==2 then
   local 地图范围={1193,1110}
   local 地图=地图范围[取随机数(1,#地图范围)]
   local xy=地图处理类.地图坐标[地图]:取随机点()
   任务数据[任务id].模型="护卫"
   任务数据[任务id].名称="军需官"
   任务数据[任务id].地图编号=地图
   任务数据[任务id].地图名称=取地图名称(地图)
   任务数据[任务id].x=xy.x
   任务数据[任务id].y=xy.y
   地图处理类:添加单位(任务id)
   发送数据(玩家数据[id].连接id,1501,{名称="李将军",模型="男人_马副将",对话=format("目前前线物资紧缺，请你将这批物资运输到#G/%s(%s,%s)#W/处，交给那里的军需官。为了保护物资的安全，请不要使用飞行道具。",任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y)})
  elseif 任务类型==3 then
    任务数据[任务id].情报=false
    发送数据(玩家数据[id].连接id,1501,{名称="李将军",模型="男人_马副将",对话="根据探子来报，突厥正在谋划些什么，请你前往边境搜集突厥的情报。"})
  elseif 任务类型==4 then
    任务数据[任务id].物品=取官职任务物品(id)
    发送数据(玩家数据[id].连接id,1501,{名称="李将军",模型="男人_马副将",对话=format("前线打仗的军备不足，请你帮我搜寻#R/%s#W/给我。",任务数据[任务id].物品)})
  end
  玩家数据[id].角色.数据.官职次数=玩家数据[id].角色.数据.官职次数+1
  if 取随机数(1,1000) >= 800 then
      发送数据(玩家数据[id].连接id,1501,{名称="李将军",模型="男人_马副将",对话="少侠辛苦了，为了感谢少侠对于朝廷的辛苦付出，特意为你准备了一件法宝，希望少侠能够喜欢！",选项={"非常喜欢这法宝，谢谢！","我并不需要这个法宝"}})
  end
  玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:完成宠修任务(id,任务id)
  if 任务数据[任务id]==nil then return  end
  local 次数=任务数据[任务id].次数
  local 积分=3
  if 次数<=10 then
    积分=3
  elseif 次数<=20 then
    积分=5
  elseif 次数<=30 then
    积分=8
  elseif 次数<=40 then
    积分=10
  elseif 次数<=50 then
    积分=15
  elseif 次数<=60 then
    积分=20
  elseif 次数<=70 then
    积分=25
  elseif 次数<=80 then
    积分=30
  elseif 次数<=90 then
    积分=35
  else
    积分=40
  end
  玩家数据[id].角色:添加bb修炼经验(id,积分)
  发送数据(玩家数据[id].连接id,38,{内容="你获得了"..积分.."点召唤兽修炼经验"})
  积分=0
  if 任务数据[任务id].分类==11 then
    积分=1
  elseif 任务数据[任务id].分类==12 or 任务数据[任务id].分类==13 or 任务数据[任务id].分类==14 then
    积分=3
    if 任务数据[任务id].等级==7 then
      积分=4
    elseif 任务数据[任务id].等级==8 then
      积分=5
    end
  elseif 任务数据[任务id].分类==15 then
    积分=10
  end
  任务数据[任务id].积分=任务数据[任务id].积分+积分
  发送数据(玩家数据[id].连接id,38,{内容="你获得了"..积分.."点任务积分，任务积分达到100点后将自动获得书铁奖励。"})
  if 任务数据[任务id].积分>=100 then
    任务数据[任务id].积分=0
    local 奖励数据=玩家数据[id].道具:给予书铁(id,{10,14})
    常规提示(id,"#Y你得到了#R"..奖励数据[1])
    发送数据(玩家数据[id].连接id,38,{内容="你得到了#R"..奖励数据[1]})
    广播消息({内容=format("#S(宠物修炼)#R/%s#Y在宠物修炼任务中的积分达到了100，因此获得了马真人奖励的#G/%s#Y",玩家数据[id].角色.数据.名称,奖励数据[1]),频道="xt"})
  end
  if 任务数据[任务id].次数>=100 then
    玩家数据[id].角色:取消任务(任务id)
    常规提示(id,"#Y恭喜你完成了全部的召唤兽修炼任务")
    任务数据[任务id]=nil
  else
    任务数据[任务id].次数=任务数据[任务id].次数+1
    self:设置宠修任务(id,任务id)
  end
end

function 任务处理类:添加宠修任务(id)
  if 玩家数据[id].角色.数据.等级<60 then
    添加最后对话(id,"只有等级达到60级的玩家才可以领取本任务。")
    return
  elseif 玩家数据[id].角色.数据.银子<5000 then
    添加最后对话(id,"你没有那么多的银子。")
    return
  end
  玩家数据[id].角色:扣除银子(5000,0,0,"领取宠物修炼任务",1)
  local 任务id=id.."_13_"..os.time()
  local 结束时间=9999999999
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    名称=1,
    模型=1,
    地图编号=1001,
    地图名称=1,
    积分=0,
    次数=1,
    类型=13
  }
  玩家数据[id].角色:添加任务(任务id)
  self:设置宠修任务(id,任务id)
end

function 任务处理类:设置宠修任务(id,任务id)
  local 类型=取随机数(1,15)
  if 类型<=11 then
    类型=11
  end
  local 序列=取随机数(1,#Q_随机人物)
  local 地图=Q_随机人物[序列].地图
  local 名称=Q_随机人物[序列].人物[取随机数(1,#Q_随机人物[序列].人物)]
  --地图=1111
  --名称="马真人"
  任务数据[任务id].地图编号=地图
  任务数据[任务id].地图名称=取地图名称(地图)
  任务数据[任务id].名称=名称
  任务数据[任务id].分类=类型
  任务数据[任务id].传说=nil
  if 类型==11 then
   添加最后对话(id,format("前些日子%s的%s帮了我不少忙，请你前去替我感谢他吧。",任务数据[任务id].地图名称,任务数据[任务id].名称))
  elseif 类型==12 then --索要环装
    local 临时等级=取随机数(6,8)
    任务数据[任务id].等级=临时等级
    临时限制=临时等级
    local 物品名称=玩家数据[id].装备.打造物品[取随机数(1,23)][临时限制+1]
    if type(物品名称)=="table" then
      物品名称=物品名称[取随机数(1,#物品名称)]
    end
    任务数据[任务id].物品= 物品名称
    if 任务数据[任务id].物品==nil then
     任务数据[任务id].物品="追星踏月"
     任务数据[任务id].等级=6
    end
   添加最后对话(id,format("听闻%s的%s正在四处搜寻#Y%s#W，请你帮他寻找一个吧。",任务数据[任务id].地图名称,任务数据[任务id].名称,任务数据[任务id].物品))
  elseif 类型==13 then
   local  物品表={"烤肉","醉生梦死","蛇胆酒","百味酒","梅花酒","长寿面","翡翠豆腐","桂花丸","佛跳墙","佛跳墙","佛跳墙","珍露酒","烤鸭","烤鸭","豆斋果","烤鸭","臭豆腐","佛跳墙","烤鸭","虎骨酒"}
   任务数据[任务id].物品=物品表[取随机数(1,#物品表)]
   添加最后对话(id,format("听闻%s的%s正在四处搜寻#Y%s#W，请你帮他寻找一个吧。",任务数据[任务id].地图名称,任务数据[任务id].名称,任务数据[任务id].物品))
  elseif 类型==14 then
   local  物品表={"金香玉","小还丹","千年保心丹","风水混元丹","定神香","蛇蝎美人","九转回魂丹","佛光舍利子","十香返生丸","五龙丹"}
   任务数据[任务id].物品=物品表[取随机数(1,#物品表)]
   添加最后对话(id,format("听闻%s的%s正在四处搜寻#Y%s#W，请你帮他寻找一个吧。",任务数据[任务id].地图名称,任务数据[任务id].名称,任务数据[任务id].物品))
  elseif 类型==15 then
   local bb表={"巨蛙","野猪","强盗","野鬼","狼","僵尸","马面","牛头","古代瑞兽","天兵","树怪","赌徒","狐狸精","花妖","黑熊","老虎","牛妖","骷髅怪","羊头怪","蛤蟆精","兔子怪"}
   任务数据[任务id].bb=bb表[取随机数(1,#bb表)]
   添加最后对话(id,format("%s的%s沉迷于炼妖，现在他正缺少#Y变异%s#W，还请你想法子给他弄一只吧。",任务数据[任务id].地图名称,任务数据[任务id].名称,任务数据[任务id].bb))
  end
  玩家数据[id].角色:刷新任务跟踪()
end

function 任务处理类:添加宝图任务(id)
  local 任务id=id.."_4_"..os.time()
  local 地图范围={1501,1092,1193,1070,1142}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 名称=宝图名字.姓[取随机数(1,#宝图名字.姓)]..宝图名字.名[取随机数(1,#宝图名字.名)]
  if 取随机数()<=70 then
    名称=名称..宝图名字.氏[取随机数(1,#宝图名字.氏)]
  end
  local 结束时间=3600
  任务数据[任务id]={
    领取人id={id},
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    名称=名称,
    模型="强盗",
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=4
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  发送数据(玩家数据[id].连接id,1501,{名称="店小二",模型="男人_店小二",对话=format("听说近日有强盗#Y/%s#W/被官府通缉，现已逃到了#G/%s(%s,%s)#W/处。若是能找到他，肯定能搜出不少宝物。",任务数据[任务id].名称,任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y)})
  地图处理类:添加单位(任务id)
end

function 任务处理类:添加三界悬赏任务(id)
  local 任务id=id.."_209_"..os.time()
  local 地图范围={1501,1092,1208,1070,1040,1226}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 名称="通缉犯"
  local 结束时间=7200
  任务数据[任务id]={
    领取人id={id},
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    名称=名称,
    模型="强盗",
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=209
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  发送数据(玩家数据[id].连接id,1501,{名称="铁无双",模型="男人_衙役",对话=format("据可靠情报，现有#Y/%s#W/逃到了#G/%s(%s,%s)#W/处，请你前往将其缉拿。此通缉犯实力不容小窥，请尽量寻找一些高人前来协助。",任务数据[任务id].名称,任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y)})
  地图处理类:添加单位(任务id)
end

function 任务处理类:完成游泳任务(id)
  local 队伍id=玩家数据[id].队伍
  local 等级=取队伍平均等级(玩家数据[id].队伍,id)
  local 任务id=玩家数据[id].角色:取任务(109)
  for n=1,#队伍数据[队伍id].成员数据 do
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 临时id=队伍数据[队伍id].成员数据[n]
      local 经验=qz((等级*150)*(1+任务数据[任务id].序列*0.1))
      local 银子=qz(等级*100)
      玩家数据[临时id].角色:添加经验(经验,"游泳比赛")
      玩家数据[临时id].角色:添加银子(银子,"游泳比赛",1)
      if 玩家数据[临时id].角色.参战信息~=nil then
        玩家数据[临时id].召唤兽:获得经验(玩家数据[临时id].角色.数据.参战宝宝.认证码,qz(经验*0.5),临时id,"游泳比赛",self.地图等级)
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=40 then
        local 名称="彩果"
        玩家数据[临时id].道具:给予道具(临时id,名称,1)
        常规提示(临时id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(游泳比赛)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[临时id].角色.数据.名称,"游泳试练官员",名称),频道="hd"})
      elseif 奖励参数<=50 then
        local 名称=玩家数据[临时id].道具:取五宝()
        玩家数据[临时id].道具:给予道具(临时id,名称)
        常规提示(临时id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(游泳比赛)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[临时id].角色.数据.名称,"游泳试练官员",名称),频道="hd"})
      elseif 奖励参数<=60 then
        local 名称="修炼果"
        玩家数据[临时id].道具:给予道具(临时id,名称,1)
        常规提示(临时id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(游泳比赛)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[临时id].角色.数据.名称,"游泳试练官员",名称),频道="hd"})
      elseif 奖励参数<=90 then
        local 名称="魔兽要诀"
        玩家数据[临时id].道具:给予道具(临时id,名称)
        常规提示(临时id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(游泳比赛)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[临时id].角色.数据.名称,"游泳试练官员",名称),频道="hd"})
      else
        local 名称="怪物卡片"
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,5))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(游泳比赛)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[临时id].角色.数据.名称,"游泳试练官员",名称),频道="hd"})
      end
      if 任务数据[任务id].序列==20 then
        if 活跃数据[临时id]==nil then
          活跃数据[临时id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
        end
        if 活跃数据[临时id].游泳次数==nil then
          活跃数据[临时id].游泳次数=1
        end
        if 活跃数据[临时id].游泳次数>0 then
          玩家数据[临时id].角色:添加活跃度(30,"游泳",1)
          活跃数据[临时id].游泳次数=活跃数据[临时id].游泳次数-1
        end
        常规提示(临时id,"#Y/你完成了游泳比赛")
        玩家数据[临时id].角色:取消任务(玩家数据[临时id].角色:取任务(109))
      end
    end
  end
  if 任务数据[任务id].序列==20 then
    任务数据[任务id]=nil
  else
    任务数据[任务id].序列=任务数据[任务id].序列+1
    任务数据[任务id].战斗=false
    发送数据(玩家数据[id].连接id,1501,{名称=任务数据[任务id].序列.."号裁判",模型="雨师",对话=format("报道成功，现在请立即前往#Y/%s(%s,%s)#W/的%s号裁判报道。",取地图名称(Q_游泳数据[任务数据[任务id].序列].z),Q_游泳数据[任务数据[任务id].序列].x,Q_游泳数据[任务数据[任务id].序列].y,任务数据[任务id].序列)})
    玩家数据[id].角色:刷新任务跟踪()
  end
end

function 任务处理类:添加游泳任务(id)
  if 玩家数据[id].队伍==0 then
    添加最后对话(id,"此活动最少需要三人组队参加。")
    return
  elseif 取队伍人数(id)<3 then
    添加最后对话(id,"此活动最少需要三人组队参加。")
    return
  elseif 取等级要求(id,50)==false then
    添加最后对话(id,"此活动要求最低等级不能小于50级，队伍中有成员等级未达到此要求。")
    return
  elseif 游泳开关==false then
    添加最后对话(id,"当前不是比赛时间。")
    return
  end
  local 提示=""
  local 队伍id=玩家数据[id].队伍
  local id组={}
  for n=1,#队伍数据[队伍id].成员数据 do
    id组[n]=队伍数据[队伍id].成员数据[n]
    if 玩家数据[id组[n]].角色:取任务(108)~=0 then
      提示="#Y/"..玩家数据[id组[n]].角色.数据.名称.."已经领取过任务了"
    elseif 游戏数据[id组[n]]~=nil and 游戏数据[id组[n]]>=2 then
      提示="#Y/"..玩家数据[id组[n]].角色.数据.名称.."本日已经无法参加游泳比赛了"
    end
  end
  if 提示~="" then
    常规提示(id,提示)
    return
  end
  local 任务id=id.."_109_"..os.time()
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=7200,
    玩家id=id,
    队伍组={},
    序列=1,
    战斗=false,
    类型=109
  }
  for n=1,#id组 do
    玩家数据[id组[n]].角色:添加任务(任务id)
    发送数据(玩家数据[id组[n]].连接id,1501,{名称="报名官",模型="雨师",对话=format("你成功参加了游泳比赛，现在请立即前往#Y/%s(%s,%s)#W/的%s号裁判报道。",取地图名称(Q_游泳数据[任务数据[任务id].序列].z),Q_游泳数据[任务数据[任务id].序列].x,Q_游泳数据[任务数据[任务id].序列].y,1)})
    if 游戏数据[id组[n]]==nil then
      游戏数据[id组[n]]=0
    end
    游戏数据[id组[n]]=游戏数据[id组[n]]+1
  end
end

function 任务处理类:添加闯关任务(id)
  if 玩家数据[id].队伍==0 then
    添加最后对话(id,"此活动最少需要三人组队参加。")
    return
  elseif 取队伍人数(id)<3 then
    添加最后对话(id,"此活动最少需要三人组队参加。")
    return
  elseif 取等级要求(id,50)==false then
    添加最后对话(id,"此活动要求最低等级不能小于50级，队伍中有成员等级未达到此要求。")
    return
  elseif 闯关参数.开关==false then
    添加最后对话(id,"当前不是门派闯关活动时间")
    return
  end
  local 提示=""
  local 队伍id=玩家数据[id].队伍
  local id组={}
  for n=1,#队伍数据[队伍id].成员数据 do
    id组[n]=队伍数据[队伍id].成员数据[n]
    if 玩家数据[id组[n]].角色:取任务(107)~=0 then
      提示="#Y/"..玩家数据[id组[n]].角色.数据.名称.."已经领取过任务了"
    end
  end
  if 提示~="" then
    常规提示(id,提示)
    return
  end
  local 任务id=id.."_107_"..os.time()
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=7200,
    玩家id=id,
    队伍组={},
    类型=107
  }
  任务数据[任务id].闯关序列=table.loadstring(table.tostring(Q_门派编号))
  任务数据[任务id].当前序列=取随机数(1,#任务数据[任务id].闯关序列)
  for n=1,#任务数据[任务id].闯关序列 do
    任务数据[任务id].闯关序列[n]=n
  end
  for n=1,#id组 do
    玩家数据[id组[n]].角色:添加任务(任务id)
    发送数据(玩家数据[id组[n]].连接id,1501,{名称="门派闯关使者",模型="男人_马副将",对话=format("你成功领取了门派闯关任务，请立即前往#Y/%s#W/接受考验。",Q_门派编号[任务数据[任务id].当前序列])})
  end
end

function 任务处理类:开启门派闯关()
  for n=1,15 do
    local 任务id=n.."_"..取随机数(999,1111).."_106_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    随机序列=随机序列+1
    local 地图范围=取门派地图(Q_门派编号[n])
    local 地图=地图范围[1]
    local 结束时间=7200
    任务数据[任务id]={
      id=任务id,
      -- 领取人id=id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称=Q_门派编号[n].."护法",
      模型=Q_闯关数据[Q_门派编号[n]].模型,
      x=Q_闯关数据[Q_门派编号[n]].x,
      y=Q_闯关数据[Q_门派编号[n]].y,
      武器=Q_闯关数据[Q_门派编号[n]].武器.名称,
      方向=Q_闯关数据[Q_门派编号[n]].方向,
      地图编号=地图,
      序列=n,
      地图名称=取地图名称(地图),
      类型=106
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容="#G/十五门派闯关活动已经开启，各位玩家可以前往长安城#R/门派闯关活动使者#G/处开启闯关活动#32",频道="xt"})
  闯关参数={开关=true,起始=os.time(),记录={}}
end

function 任务处理类:开启皇宫飞贼()
  皇宫飞贼={开关=true,贼王={}}
  广播消息({内容="#G/皇宫飞贼活动已经开启，各位玩家可以前往长安城#R/御林军左统领#G/处领取任务#32",频道="xt"})
end

function 任务处理类:开启迷宫()
  for n=1,20 do
    local 结束时间=3600
    local 真假={}
    if 取随机数()<=50 then
      真假={[1]=true,[2]=false}
    else
      真假={[1]=false,[2]=true}
    end
    for i=1,2 do
      local 任务id=i.."_"..n.."_"..取随机数(1999,11111).."_201_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..(1600+n).."_"..i
      随机序列=随机序列+1
      local 地图=1600+n
      local xy=地图处理类.地图坐标[地图]:取随机点()
      if 地图==1601  then
        if i==1 then
          任务数据[任务id]={
            id=任务id,
            起始=os.time(),
            结束=3600,
            玩家id=id,
            队伍组={},
            名称="迷宫土地",
            称谓="迷宫传送员",
            模型="男人_土地",
            x=xy.x,
            y=xy.y,
            地图编号=地图,
            序列=n,
            真假=true,
            地图名称=取地图名称(地图),
            类型=201
          }
          任务数据[任务id].真假=true
          地图处理类:添加单位(任务id)
        end
      elseif 地图==1620  then
        if i==1 then
          任务数据[任务id]={
            id=任务id,
            起始=os.time(),
            结束=3600,
            玩家id=id,
            队伍组={},
            名称="迷宫守卫",
            称谓="迷宫奖励专员",
            模型="护卫",
            x=xy.x,
            y=xy.y,
            地图编号=地图,
            序列=n,
            地图名称=取地图名称(地图),
            类型=201
          }
          地图处理类:添加单位(任务id)
        end
      else
        任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=3600,
        玩家id=id,
        队伍组={},
        名称="迷宫土地",
        称谓="迷宫传送员",
        模型="男人_土地",
        x=xy.x,
        y=xy.y,
        地图编号=地图,
        序列=n,
        真假=真假[i],
        地图名称=取地图名称(地图),
        类型=201
        }
        地图处理类:添加单位(任务id)
      end
    end
  end
  广播消息({内容="#G/幻域迷宫活动已经开启，各位玩家可以前往傲来国#R/金毛猿#G/处参加幻域迷宫活动#32",频道="xt"})
  迷宫数据={}
  迷宫数据.开关=true
  迷宫数据.事件=os.time()
  迷宫数据.奖励=0
  迷宫数据.起始=os.time()
  self:刷新迷宫小怪()
end

function 任务处理类:开启地煞星任务(id)
  local 地图范围={1193,1514,1091,1140,1146,1513}
  local 地图范围2={1201,1203,1131,1512}
  local 地图范围3={1207,1232,1233,1203}
  local 地煞显示地图 = {}
  --地图=1092
  for i=1,2 do
    for n=7,15 do
      local 地煞等级=n*10
      local 地图=0
      if 地煞等级<100 then
        地图 = 地图范围[取随机数(1,#地图范围)]
      elseif 地煞等级<=130 and 地煞等级>=100 then
        地图 = 地图范围2[取随机数(1,#地图范围2)]
      else
        地图 = 地图范围3[取随机数(1,#地图范围3)]
      end
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 任务id="_"..地煞等级.."_"..取随机数(1999,11111).."304"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..地煞等级
      随机序列=随机序列+1
      local 造型=Q_随机模型[取随机数(1,#Q_随机模型)]
      local 武器造型=取高级地煞星武器造型(造型)
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=3600,
        玩家id=id,
        队伍组={},
        名称=Q_地煞星等级[取随机数(1,#Q_地煞星等级)],
        模型=造型,
        武器=武器造型.武器,
        武器等级=武器造型.级别,
        等级=地煞等级,
        行走开关=true,
        x=xy.x,
        y=xy.y,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=304
      }
      if 任务数据[任务id].名称=="初出茅庐地煞星" then
          任务数据[任务id].称谓="★"
      elseif 任务数据[任务id].名称=="小有所成地煞星" then
          任务数据[任务id].称谓="★★"
      elseif 任务数据[任务id].名称=="伏虎斩妖地煞星" then
          任务数据[任务id].称谓="★★★"
      elseif 任务数据[任务id].名称=="御风神行地煞星" then
          任务数据[任务id].称谓="★★★★"
      elseif 任务数据[任务id].名称=="履水吐焰地煞星" then
          任务数据[任务id].称谓="★★★★★"
      end
      地图处理类:添加单位(任务id)
      地煞显示地图[#地煞显示地图+1] = 任务数据[任务id].地图名称
    end
  end
  广播消息({内容=format("#G据可靠消息，强大而神秘的地煞星带着天界宝物已经出现在#Y%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s#G场景内。只有智勇双全的强者才有机缘获得宝物，少侠敢来挑战么？".."#"..取随机数(1,110),地煞显示地图[1],地煞显示地图[2],地煞显示地图[3],地煞显示地图[4],地煞显示地图[5],地煞显示地图[6],地煞显示地图[7],地煞显示地图[8],地煞显示地图[9],地煞显示地图[10],地煞显示地图[11],地煞显示地图[12],地煞显示地图[13],地煞显示地图[14],地煞显示地图[15],地煞显示地图[16],地煞显示地图[17],地煞显示地图[18]),频道="xt"})
end



function 任务处理类:开启七十二地煞星任务()

  local 地图范围={[1]={1506,1508,1126,1193},[2]={1090,1110,1173},[3]={1512,1140,1131},[4]={1091,1514,1119},[5]={1114,1129,1174},[6]={1188,1180,1041},[7]={1042,1202,1210},[8]={1201,1203},[9]={1204,1207},[10]={1221,1235},[11]={1242,1001,1142},[12]={1501,1092,1070},[13]={1002,1111,1040}}
  local 地煞名称 = {"地魁星","地煞星","地勇星","地杰星","地雄星","地威星","地英星","地奇星","地猛星","地文星","地正星","地辟星","地阖星","地强星","地暗星","地轴星","地会星","地佐星","地佑星","地灵星","地兽星","地微星","地慧星","地暴星","地然星","地猖星","地狂星","地飞星","地走星","地巧星","地明星","地进星","地退星","地满星","地遂星","地周星","地隐星","地异星","地理星","地俊星","地乐星","地捷星","地速星","地镇星","地稽星","地魔星","地妖星","地幽星","地伏星","地僻星","地空星","地孤星","地全星","地短星","地角星","地囚星","地藏星","地平星","地损星","地奴星","地察星","地恶星","地丑星","地数星","地阴星","地刑星","地壮星","地劣星","地健星","地耗星","地贼星","地狗星"}
  local 地煞造型 = {"黑山老妖","星灵仙子","蛟龙","天兵","巡游天神","吸血鬼","幽灵","鬼将","画魂","大力金刚","龙龟","毗舍童子","进阶毗舍童子"}
  --地图=1092
  local 地煞显示地图 = {}
  local 星级 = 1
  for i=1,13 do
    local 地图编号 = 地图范围[i][取随机数(1,#地图范围[i])]
    local xy=地图处理类.地图坐标[地图编号]:取随机点()
    local 任务id="_"..i.."_"..取随机数(1,99).."345"..os.time().."_"..随机序列.."_"..取随机数(1,99)
    随机序列=随机序列+1
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=3590,
      玩家id=id,
      队伍组={},
      名称=地煞名称[取随机数(1,#地煞名称)],
      模型=地煞造型[i],
      等级=160,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图编号,
      地图名称=取地图名称(地图编号),
      类型=345,
      称谓="",
      难度=i
    }
    for n=1,i do
      任务数据[任务id].称谓 = 任务数据[任务id].称谓.."★"
    end
    地图处理类:添加单位(任务id)
    地煞显示地图[#地煞显示地图+1] = 任务数据[任务id].地图名称
  end
  广播消息({内容=format("#S(七十二地煞星)#Y带着天界宝物已经出现在#Y%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s#G场景内。听说挑战成功后会获得不菲的奖励哟，少侠敢来挑战么？".."#"..取随机数(1,110),地煞显示地图[1],地煞显示地图[2],地煞显示地图[3],地煞显示地图[4],地煞显示地图[5],地煞显示地图[6],地煞显示地图[7],地煞显示地图[8],地煞显示地图[9],地煞显示地图[10],地煞显示地图[11],地煞显示地图[12],地煞显示地图[13]),频道="xt"})
end




function 任务处理类:变强就点我(id)
  local 地图范围={1193,1514,1091,1140,1146,1513}
  local 地图范围2={1201,1203,1131,1512}
  local 地图范围3={1207,1232,1233,1203}
  local 地煞显示地图 = {}
  --地图=1092
  for i=1,2 do
    for n=7,15 do
      local 地煞等级=n*10
      local 地图=0
      if 地煞等级<100 then
        地图 = 地图范围[取随机数(1,#地图范围)]
      elseif 地煞等级<=130 and 地煞等级>=100 then
        地图 = 地图范围2[取随机数(1,#地图范围2)]
      else
        地图 = 地图范围3[取随机数(1,#地图范围3)]
      end
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 任务id="_"..地煞等级.."_"..取随机数(1,111).."341"..os.time().."_"..随机序列.."_"..取随机数(1,9999).."_"..地煞等级
      随机序列=随机序列+1
      local 造型=Q_随机模型[取随机数(1,#Q_随机模型)]
      local 武器造型=取高级地煞星武器造型(造型)
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=3600,
        玩家id=id,
        队伍组={},
        名称="变强就点我",
        模型=造型,
        武器=武器造型.武器,
        武器等级=武器造型.级别,
        等级=地煞等级,
        行走开关=true,
        x=xy.x,
        y=xy.y,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=341
      }
      if 地煞等级<=80 then
          任务数据[任务id].称谓="★"
      elseif 地煞等级<=100 then
          任务数据[任务id].称谓="★★"
      elseif 地煞等级<=120 then
          任务数据[任务id].称谓="★★★"
      elseif 地煞等级<=140 then
          任务数据[任务id].称谓="★★★★"
      else
          任务数据[任务id].称谓="★★★★★"
      end
      地图处理类:添加单位(任务id)
      地煞显示地图[#地煞显示地图+1] = 任务数据[任务id].地图名称
    end
  end
  广播消息({内容=format("#G还在为如何强大自身而烦恼么，#R变强就点我#G出现在了#Y%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s#G场景内。想要变强就快点来挑战吧！".."#"..取随机数(1,110),地煞显示地图[1],地煞显示地图[2],地煞显示地图[3],地煞显示地图[4],地煞显示地图[5],地煞显示地图[6],地煞显示地图[7],地煞显示地图[8],地煞显示地图[9],地煞显示地图[10],地煞显示地图[11],地煞显示地图[12],地煞显示地图[13],地煞显示地图[14],地煞显示地图[15],地煞显示地图[16],地煞显示地图[17],地煞显示地图[18]),频道="xt"})
end

function 任务处理类:完成地煞星任务(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=200000
  local 银子=150000
  local 奖励系数 = 1
  local 物品奖励系数 = 1
  if 任务数据[任务id].等级 == 70 then
      奖励系数 = 1
  elseif 任务数据[任务id].等级 == 80 then
      奖励系数 = 1.1
  elseif 任务数据[任务id].等级 == 90 then
      奖励系数 = 1.2
  elseif 任务数据[任务id].等级 == 100 then
      奖励系数 = 1.3
  elseif 任务数据[任务id].等级 == 110 then
      奖励系数 = 1.4
  elseif 任务数据[任务id].等级 == 120 then
      奖励系数 = 1.5
  elseif 任务数据[任务id].等级 == 130 then
      奖励系数 = 1.6
  elseif 任务数据[任务id].等级 == 140 then
      奖励系数 = 1.7
  elseif 任务数据[任务id].等级 == 150 then
      奖励系数 = 1.8
  end
  if 任务数据[任务id].名称 == "初出茅庐地煞星" then
      奖励系数 = 1 + 奖励系数
  elseif 任务数据[任务id].名称 == "小有所成地煞星" then
      奖励系数 = 1.2 + 奖励系数
  elseif 任务数据[任务id].名称 == "伏虎斩妖地煞星" then
      奖励系数 = 1.5 + 奖励系数
  elseif 任务数据[任务id].名称 == "御风神行地煞星" then
      奖励系数 = 2 + 奖励系数
  elseif 任务数据[任务id].名称 == "履水吐焰地煞星" then
      奖励系数 = 2.5 + 奖励系数
  end
  if 任务数据[任务id].名称 == "初出茅庐地煞星" then
      物品奖励系数 = 1
  elseif 任务数据[任务id].名称 == "小有所成地煞星" then
      物品奖励系数 = 1.2
  elseif 任务数据[任务id].名称 == "伏虎斩妖地煞星" then
      物品奖励系数 = 1.5
  elseif 任务数据[任务id].名称 == "御风神行地煞星" then
      物品奖励系数 = 2
  elseif 任务数据[任务id].名称 == "履水吐焰地煞星" then
      物品奖励系数 = 2.5
  end
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*平均等级*8*奖励系数+经验
      银子=平均等级*200*奖励系数+银子
      玩家数据[id].角色:添加经验(经验,"地煞星",1)
      玩家数据[id].角色:添加银子(银子,"地煞星",1)
      if 活跃数据[id]==nil then
        活跃数据[id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
      end
      if 活跃数据[id].地煞星次数>0 then
        玩家数据[id].角色:添加活跃度(20,"地煞星",1)
        活跃数据[id].地煞星次数=活跃数据[id].地煞星次数-1
      end
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"地煞星")
      end
      local 奖励参数=取随机数()
      if 物品奖励系数==1 or 物品奖励系数==1.2 then

      end

    end
    地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
    任务数据[任务id]=nil
  end
end

function 任务处理类:完成变强就点我(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=100000
  local 银子=80000
  local 奖励系数 = 1
  local 书铁等级={65,75}
  if 任务数据[任务id].等级 <= 80 then
      书铁等级={65,85}
      奖励系数 = 1
  elseif 任务数据[任务id].等级 <= 100 then
      书铁等级={95,105}
      奖励系数 = 1.3
  elseif 任务数据[任务id].等级 <= 120 then
      奖励系数 = 1.5
      书铁等级={115,125}
  elseif 任务数据[任务id].等级 <= 140 then
      奖励系数 = 1.7
      书铁等级={135,145}
  else
      奖励系数 = 1.8
      书铁等级={145}
  end
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*2000
      银子=平均等级*1500
      玩家数据[id].角色:添加经验(经验,"变强就点我",1)
      玩家数据[id].角色:添加银子(银子,"变强就点我",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"变强就点我")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数 <= 5 then
        local 名称="上古锻造图策"
        玩家数据[id].道具:给予道具(id,名称,书铁等级)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(我要变强)#R/%s#Y拥有一颗坚韧不拔的变强精神,获得与皇帝奖励的#G/%s#Y以求活命。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=10 then
        local 名称="炼妖石"
        玩家数据[id].道具:给予道具(id,名称,书铁等级)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(我要变强)#R/%s#Y拥有一颗坚韧不拔的变强精神,获得与皇帝奖励的#G/%s#Y以求活命。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称="召唤兽内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(我要变强)#R/%s#Y拥有一颗坚韧不拔的变强精神,获得与皇帝奖励的#G/%s#Y以求活命。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数 <=50 and 奖励系数  >=1.7 then
        local 名称="高级召唤兽内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(我要变强)#R/%s#Y拥有一颗坚韧不拔的变强精神,获得与皇帝奖励的#G/%s#Y以求活命。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end


function 任务处理类:开启天罡星任务(id)
  local 地图范围={1201,1202,1203,1221,1210,1204}
  local 地图范围2={1232,1207,1228,1229,1231,1233}
  local 天罡显示地图 = {}
  --地图=1092
  for i=1,2 do
    for n=12,17 do
      local 地煞等级=n*10
      local 地图=0
      if 地煞等级<=140 then
        地图 = 地图范围[取随机数(1,#地图范围)]
      else
        地图 = 地图范围2[取随机数(1,#地图范围2)]
      end
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 任务id="_"..地煞等级.."_"..取随机数(1999,11111).."314"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..地煞等级
      随机序列=随机序列+1
      local 造型=Q_随机模型[取随机数(1,#Q_随机模型)]
      local 武器造型=取天罡星武器造型(造型)
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=3600,
        玩家id=id,
        队伍组={},
        名称=Q_天罡星名称[取随机数(1,#Q_天罡星名称)],
        模型=造型,
        称谓="星君下凡尘",
        武器=武器造型.武器,
        武器等级=武器造型.级别,
        等级=地煞等级,
        行走开关=true,
        x=xy.x,
        y=xy.y,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=314
      }
      地图处理类:添加单位(任务id)
      天罡显示地图[#天罡显示地图+1] = 任务数据[任务id].地图名称
    end
  end
  广播消息({内容=format("#S(天罡星)#W带着天界宝物已经出现在#Y%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s，%s#G场景内。帮助智勇双全的强者提升和检验其自身的修为，挑战成功的勇士还可以获得星君们赠予的宝物，少侠敢来挑战么？".."#"..取随机数(1,110),天罡显示地图[1],天罡显示地图[2],天罡显示地图[3],天罡显示地图[4],天罡显示地图[5],天罡显示地图[6],天罡显示地图[7],天罡显示地图[8],天罡显示地图[9],天罡显示地图[10],天罡显示地图[11],天罡显示地图[12]),频道="xt"})
end

function 任务处理类:完成天罡星任务(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*3000
      银子=平均等级*1500
      玩家数据[id].角色:添加经验(经验,"天罡星",1)
      玩家数据[id].角色:添加银子(银子,"天罡星",1)
      if 活跃数据[id]==nil then
        活跃数据[id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
      end
      if 活跃数据[id].天罡星次数>0 then
        玩家数据[id].角色:添加活跃度(20,"天罡星",1)
        活跃数据[id].天罡星次数=活跃数据[id].天罡星次数-1
      end
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*1.8),id,"天罡星")
      end
      玩家数据[id].角色:添加元宝(5,"天罡星",1)
      常规提示(id,"#Y/你获得了5元宝")
      广播消息({内容=format("#S(天罡星)#Y/经过一番激烈的战斗，玩家：#R"..玩家数据[id].角色.数据.名称.."#Y获得了#R5元宝")})
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:开启妖王(id)
  local 地图=1092
  for n=1,取随机数(6,10) do
    local 任务id=id.."_"..n.."_"..取随机数(8888,9999).."_205_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    随机序列=随机序列+1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 名称="避世老妖"
    local 模型="炎魔神"
    local 随机参数=取随机数()
    if 随机参数<=30 then
      名称="冥府妖王"
      模型="鬼将"
    elseif 随机参数<=60 then
      名称="猪仙大圣"
      模型="净瓶女娲"
    end
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1800,
      玩家id=id,
      队伍组={},
      名称=名称,
      模型=模型,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=205
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#Y%s#W挖宝时候一不小心在#R妖王#W脑袋上敲出了一个大包，妖王气得正在#G%s#W寻衅闹事，各路英雄快前往平乱啊！",玩家数据[id].角色.数据.名称,取地图名称(地图)),频道="xt"})
end

function 任务处理类:开启宝藏山()
  宝藏山数据={开关=true,起始=os.time(),刷新=os.time(),间隔=10}
  广播消息({内容="#G/宝藏山活动已经开启，各位玩家可以前往宝象国#R/土地公公#G/处参加宝藏山活动#32",频道="xt"})
end

function 任务处理类:进入宝藏山(id)
  if 玩家数据[id].队伍~=0 then
    常规提示(id,"#Y宝藏山不允许组队进入")
    return
  elseif 玩家数据[id].角色.数据.等级<50 then
    常规提示(id,"#Y低于50级的玩家无法进入宝藏山")
    return
  end
  local xy=地图处理类.地图坐标[5001]:取随机点()
  地图处理类:跳转地图(id,5001,xy.x,xy.y)
  local 人数=地图处理类:取地图人数(5001)
  地图处理类:当前消息广播1(5001,"#G当前共有#R"..人数.."#G名玩家在宝藏山内寻宝")
  if 宝藏山数据[id]==nil then
    宝藏山数据[id]={小宝箱=0,大宝箱=0}
  end
end

function 任务处理类:宝藏山刷出宝箱()
  local 人数=地图处理类:取地图人数(5001)
  local 小宝箱=人数*4
  local 大宝箱=人数*2
  宝藏山数据.小宝箱=小宝箱
  宝藏山数据.大宝箱=大宝箱
  local 地图=5001
  for n=1,小宝箱 do
    local 任务id="_"..n.."_"..取随机数(1999,11111).."_203_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..(5001+n)
    随机序列=随机序列+1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=240,
      玩家id=id,
      队伍组={},
      名称="小宝箱",
      模型="宝箱",
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=203
    }
    地图处理类:添加单位(任务id)
  end
  for n=1,大宝箱 do
    local 任务id="_"..n.."_"..取随机数(1999,11111).."_204_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..(5001+n)
    随机序列=随机序列+1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=240,
      玩家id=id,
      队伍组={},
      名称="大宝箱",
      模型="宝箱",
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=204
    }
    地图处理类:添加单位(任务id)
  end
  地图处理类:当前消息广播1(5001,"#G当前共有#R"..人数.."#G名玩家在宝藏山内寻宝。")
  地图处理类:当前消息广播1(5001,format("#G一道金光闪过，#R%s#G个小宝箱和#R%s#G个大宝箱散落在场景内的各个角落。宝箱将在4分钟后自动消失，请赶快寻找哟。本次活动中已开启过30个小宝箱或10个大宝箱的玩家将无法再开启对应的宝箱。",小宝箱,大宝箱))
  if os.time()-宝藏山数据.起始>=3240 then
    宝藏山数据.间隔=999999
    地图处理类:当前消息广播1(5001,"#R本次活动宝箱已经全部投放，6分钟后场景内的所有玩家将自动被传送出去。")
  else
    地图处理类:当前消息广播1(5001,"#R6分钟后将投放下一批宝箱。")
  end
end

function 任务处理类:刷新迷宫小怪()
  for n=1,19 do
    local 地图=1600+n
    for i=1,10 do
      local 任务id=i.."_"..n.."_"..取随机数(1999,11111).."_202_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..(1600+n).."_"..i
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 模型=取随机怪(1,60)
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=600,
        玩家id=id,
        队伍组={},
        名称="迷宫小妖",
        事件="明雷",
        行走开关=true,
        模型=模型[2],
        x=xy.x,
        y=xy.y,
        地图编号=地图,
        序列=n,
        地图名称=取地图名称(地图),
        类型=202
      }
      地图处理类:添加单位(任务id)
    end
  end
end

function 任务处理类:开启游戏比赛()
  for n=1,20 do
    local 任务id=n.."_"..取随机数(999,1111).."_108_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    随机序列=随机序列+1
    local 地图=Q_游泳数据[n].z
    local 结束时间=36000
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称=n.."号裁判",
      称谓="游泳比赛裁判",
      模型="雨师",
      x=Q_游泳数据[n].x,
      y=Q_游泳数据[n].y,
      方向=Q_游泳数据[n].f,
      地图编号=地图,
      序列=n,
      地图名称=取地图名称(地图),
      类型=108
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容="#G/游泳比赛活动已经开启，各位玩家可以前往傲来国#R/报名官#G/处参加游泳比赛#32",频道="xt"})
  游泳开关=true
  游戏数据={}
end

function 任务处理类:添加押镖任务(id,难度)
  if 玩家数据[id].角色.数据.地图数据.编号~=1024 then
    __S服务:输出("玩家"..id.." 非法使用外挂警告！！！")
    写配置("./ip封禁.ini","ip",玩家数据[id].ip,1)
    写配置("./ip封禁.ini","ip",玩家数据[id].ip.." 非法使用外挂,玩家ID:"..id,1)
    发送数据(玩家数据[id].连接id,998,"请注意你的角色异常！已经对你进行封IP")
    __S服务:连接退出(玩家数据[id].连接id)

    return 0
  end
  if 玩家数据[id].队伍 ~= 0 then
      添加最后对话(id,"请单人来接取押镖任务！")
      return
  elseif 难度 == "一级镖银（30级能运）" and 取等级(id) < 30 then
      添加最后对话(id,"请30级再来接取押镖任务！")
      return
  elseif 难度 == "二级镖银（50级能运）" and 取等级(id) < 50 then
      添加最后对话(id,"请50级再来接取押镖任务！")
      return
  elseif 难度 == "三级镖银（70级能运）" and 取等级(id) < 70 then
      添加最后对话(id,"请70级再来接取押镖任务！")
      return
  elseif 难度 == "四级镖银（90级能运）" and 取等级(id) < 90 then
      添加最后对话(id,"请90级再来接取押镖任务！")
      return
  elseif 难度 == "五级镖银（110级能运）" and 取等级(id) < 110 then
      添加最后对话(id,"请110级再来接取押镖任务！")
      return
  elseif 玩家数据[id].角色:取任务(300)~=0 then
      添加最后对话(id,"少侠身上已经有了护送任务，还不赶紧送过去！")
      return
  elseif 押镖数据[id]>= 10 then
      添加最后对话(id,"少侠今天已经很累了，休息休息，明天继续！")
      return
  end
  local 任务id = id.."_"..取随机数(88,1111).."_300_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..难度
  任务数据[任务id]={
    领取人id={id},
    id=任务id,
    起始=os.time(),
    结束=9999999,
    玩家id=id,
    次数=押镖数据[id],
    队伍组={},
    难度=难度,
    类型=300
  }
  local 序列=取随机数(1,#Q_押镖数据)
  任务数据[任务id].人物=Q_押镖数据[序列].名称
  任务数据[任务id].人物地图=Q_押镖数据[序列].地图
  if 取随机数(1,1000) >= 800 then
    发送数据(玩家数据[id].连接id,1501,{名称="郑镖头",模型="男人_镖头",对话="少侠辛苦了，为了感谢少侠对于长风镖局的辛苦付出，特意为你准备了一件法宝，希望少侠能够喜欢！",选项={"非常喜欢这法宝，谢谢！","我并不需要这个法宝"}})
  end
  添加最后对话(id,format("请帮我把镖银送给#Y%s#W的#R%s#W，事出紧急，切勿在路上耽搁。当前#R第%s镖",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物,任务数据[任务id].次数))
  玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:完成押镖任务(任务id,数字id,地图)
  if 任务数据[任务id]==nil then
    return
  end
  if 玩家数据[数字id].角色.数据.地图数据.编号~=地图 then
    __S服务:输出("玩家"..数字id.." 非法使用外挂警告！！！")
    写配置("./ip封禁.ini","ip",玩家数据[数字id].ip,1)
    写配置("./ip封禁.ini","ip",玩家数据[数字id].ip.." 非法使用外挂,玩家ID:"..数字id,1)
    发送数据(玩家数据[数字id].连接id,998,"请注意你的角色异常！已经对你进行封IP")
    __S服务:连接退出(玩家数据[数字id].连接id)
    return 0
  end
  local 难度=任务数据[任务id].难度
  local 奖励系数 = 1
  local 押镖银子 = 80000
  local 押镖储备 = 180000
  if 押镖数据[数字id]==nil then
    押镖数据[数字id]=0
  end
  if 难度=="一级镖银（30级能运）" then
    奖励系数 = 1
  elseif 难度=="二级镖银（50级能运）" then
    奖励系数 = 1.2
  elseif 难度=="三级镖银（70级能运）" then
    奖励系数 = 1.4
  elseif 难度=="四级镖银（90级能运）" then
    奖励系数 = 1.6
  elseif 难度=="五级镖银（110级能运）" then
    奖励系数 = 2
  end
  if 让海啸席卷 then
    奖励系数=奖励系数*3
  end
  玩家数据[数字id].角色:添加银子(押镖银子*奖励系数,"押镖",1)
  玩家数据[数字id].角色:添加储备(押镖储备*奖励系数,"押镖")
  if 活跃数据[数字id]==nil then
    活跃数据[数字id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
  end
  if 活跃数据[数字id].押镖次数==nil then
    活跃数据[数字id].押镖次数=50
  end
  if 活跃数据[数字id].押镖次数>0 then
     玩家数据[数字id].角色:添加活跃度(2,"押镖",1)
     活跃数据[数字id].押镖次数=活跃数据[数字id].押镖次数-1
  end
  if 押镖数据[数字id] <30 then
    if 取随机数()>=90 then
      local 名称="鬼谷子"
      玩家数据[数字id].道具:给予道具(数字id,名称)
      常规提示(数字id,"#Y/你获得了"..名称)
      广播消息({内容=format("#S(押镖任务)#R/%s#Y在押送#G%s镖银#Y途中表现突出获得了郑镖头的赏识，因此获得了郑镖头额外奖励的#G/%s#Y",玩家数据[数字id].角色.数据.名称,难度,名称),频道="xt"})
    end
  else
    if 取随机数()>=80 then
      local 名称="鬼谷子"
      玩家数据[数字id].道具:给予道具(数字id,名称)
      常规提示(数字id,"#Y/你获得了"..名称)
      广播消息({内容=format("#S(押镖任务)#R/%s#Y在押送#G%s镖银#Y途中表现突出获得了郑镖头的赏识，因此获得了郑镖头额外奖励的#G/%s#Y",玩家数据[数字id].角色.数据.名称,难度,名称),频道="xt"})
    end
  end

  押镖数据[数字id]=押镖数据[数字id]+1
  任务数据[任务id]=nil
  玩家数据[数字id].角色:取消任务(任务id)
end

function 任务处理类:添加镖王任务(id,难度)
  if 玩家数据[id].队伍==0 then
    添加最后对话(id,"此活动最少需要五人组队参加。")
    return
  elseif 取队伍人数(id)<3 then
    添加最后对话(id,"此活动最少需要五人组队参加。")
    return
  elseif 取等级要求(id,50)==false then
    添加最后对话(id,"此活动要求最低等级不能小于50级，队伍中有成员等级未达到此要求。")
    return
  elseif 取队伍任务(玩家数据[id].队伍,208) then
    常规提示(id,"#Y/队伍中已有队员领取过此任务了")
    return
  elseif 镖王活动.开关==false then
    添加最后对话(id,"当前不是比赛时间。")
    return
  end
  local 任务id=id.."_"..取随机数(999,1111).."_208_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..难度
  随机序列=随机序列+1
  local 地图=镖王数据[1].地图
  local 结束时间=3600
  local x临时人物队伍={}
  if 玩家数据[id].队伍~=nil and 玩家数据[id].队伍~=0 then
    for i=1,#队伍数据[玩家数据[id].队伍].成员数据 do
      if 队伍数据[玩家数据[id].队伍].成员数据[i]~=nil then
        x临时人物队伍[#x临时人物队伍+1]=队伍数据[玩家数据[id].队伍].成员数据[i]
      end
    end
  end
  任务数据[任务id]={
    领取人id=x临时人物队伍,
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    名称="镖师",
    称谓="镖王活动",
    模型="护卫",
    x=镖王数据[1].x,
    y=镖王数据[1].y,
    方向=镖王数据[1].z,
    地图编号=地图,
    序列=1,
    难度=难度,
    完成={1,2,3,4,5,6},
    地图名称=取地图名称(地图),
    类型=208
  }
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=临时id
    玩家数据[临时id].角色:添加任务(任务id)
    发送数据(玩家数据[临时id].连接id,1501,{名称="郑镖头",模型="男人_镖头",对话=format("请带着这批#Y%s镖银#W立即前往#Y%s(%s,%s)#W处的镖师报道。",任务数据[任务id].难度,任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y)})
  end
end

function 任务处理类:完成镖王活动(任务id,数字id)
  if 任务数据[任务id]==nil then
    return
  end
  local 难度=任务数据[任务id].难度
  任务数据[任务id]=nil
  local 队伍id=玩家数据[数字id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    if 队伍处理类:取是否助战(玩家数据[数字id].队伍,n) == 0 then
      local id=队伍数据[队伍id].成员数据[n]
      玩家数据[id].角色:取消任务(任务id)
      if 活跃数据[id]==nil then
        活跃数据[id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
      end
      if 活跃数据[id].镖王次数==nil then
        活跃数据[id].镖王次数=1
      end
      if 活跃数据[id].镖王次数>0 then
        玩家数据[id].角色:添加活跃度(30,"镖王",1)
        活跃数据[id].镖王次数=活跃数据[id].镖王次数-1
      end
      if 难度=="普通" then
          玩家数据[id].角色:添加元宝(3,"镖王",1)
          常规提示(id,"#Y/你获得了3元宝")
          广播消息({内容=format("#S(普通镖王活动)#Y/经过一番激烈的战斗，玩家：#R"..玩家数据[id].角色.数据.名称.."#Y获得了#R3元宝")})
      elseif 难度=="高级"  then
        玩家数据[id].角色:添加元宝(5,"镖王",1)
        常规提示(id,"#Y/你获得了5元宝")
        广播消息({内容=format("#S(高级镖王活动)#Y/经过一番激烈的战斗，玩家：#R"..玩家数据[id].角色.数据.名称.."#Y获得了#R5元宝")})
      elseif 难度 == "珍贵" then
        玩家数据[id].角色:添加元宝(8,"镖王",1)
        常规提示(id,"#Y/你获得了8元宝")
        广播消息({内容=format("#S(珍贵镖王活动)#Y/经过一番激烈的战斗，玩家：#R"..玩家数据[id].角色.数据.名称.."#Y获得了#R8元宝")})
      end
    end
  end
end

function 任务处理类:开启镖王活动()
  for n=1,6 do
    local 任务id=n.."_"..取随机数(999,1111).."_207_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    随机序列=随机序列+1
    local 地图=镖王数据[n].地图
    local 结束时间=3600
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="镖师",
      称谓="镖王活动",
      模型="护卫",
      x=镖王数据[n].x,
      y=镖王数据[n].y,
      方向=镖王数据[n].z,
      地图编号=地图,
      序列=n,
      地图名称=取地图名称(地图),
      类型=207
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容="#G/镖王活动已经开启，各位玩家可以前往长风镖局的#R/郑镖头#G/处报名参加#32",频道="xt"})
  镖王活动={开关=true}
end

function 任务处理类:刷出星宿()
  local 任务id=取随机数(11,88).."_104_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  随机序列=随机序列+1
  local 地图范围={1193,1192,1116,1122,1131,1135,1140,1146,1173,1110,1070}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  --xy={x=25,y=18}
  local 结束时间=3600
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    名称=Q_星宿名称[取随机数(1,#Q_星宿名称)],
    模型="天兵",
    x=xy.x,
    y=xy.y,
    行走开关=true,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=104
  }
  地图处理类:添加单位(任务id)
  广播消息({内容=format("#W/听闻凡间多有能人异士，玉皇大帝特派二十八星君之一的#R/%s#W/下凡至#G/%s#W/附近搜寻有仙缘之人。凡通过星君考验者，必将重重有赏#77",任务数据[任务id].名称,取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷出不屈将魂()
  随机序列=随机序列+1
  local 地图范围={1040,1092,1226,1001}
  local 结束时间=3600
  local 武将名称 = {"张辽","徐晃","张合","于禁","乐进","李典","夏侯敦","夏侯渊","曹仁","曹洪","许褚","典韦","张燕","曹休","曹真","曹纯","文聘","毛玠","吕虔","郭嘉","荀攸","荀彧","程昱","贾诩","司马懿"}
  for n=1,#地图范围 do
    local 地图=地图范围[n]
    local xy=地图处理类.地图坐标[地图]:取随机点()
    if 地图 == 1001 then
      xy.x=432
      xy.y=41
    elseif 地图==1226 then
      xy.x=102
      xy.y=46
    elseif 地图==1092 then
      xy.x=139
      xy.y=55
    elseif 地图==1040 then
      xy.x=118
      xy.y=87
    end
    for i=1,2 do
      local 任务id=取随机数(1,99).."_342_"..os.time().."_"..随机序列.."_"..取随机数(1,99)..随机序列
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=结束时间,
        玩家id=id,
        队伍组={},
        名称=武将名称[取随机数(1,#武将名称)],
        模型="进阶鬼将",
        x=xy.x,
        y=xy.y,
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=342
      }
      地图处理类:添加单位(任务id)
    end
  end
  广播消息({内容="#R/一群三国时期的武将亡魂来到#G长安大雁塔、傲来国、西梁女娲、宝象国#R挑衅，还请各位少侠前去切磋比试。#110",频道="xt"})
end


function 任务处理类:刷出妖魔鬼怪()
  local 地图范围={1193,1091,1110,1514}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 提示名称=""
  --xy={x=25,y=18}
  local 结束时间=3500
  for n=1,#地图范围 do
    if n==#地图范围 then
      提示名称=提示名称..取地图名称(地图范围[n])
    else
      提示名称=提示名称..取地图名称(地图范围[n]).."、"
    end
    local 数量=取随机数(7,12)
    local 地图=地图范围[n]
    for i=1,数量 do
      local 任务id=n.."_"..i.."_"..取随机数(11,88).."_105_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
      随机序列=随机序列+1
      local 名称="妖魔"
      local 模型={"吸血鬼","幽灵","鬼将"}
      if 取随机数()<=50 then
        名称="鬼怪"
        模型={"僵尸","野鬼"}
      end
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=结束时间,
        玩家id=id,
        队伍组={},
        名称=名称,
        模型=模型[取随机数(1,#模型)],
        x=xy.x,
        y=xy.y,
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=105
      }
      地图处理类:添加单位(任务id)
    end
  end
  广播消息({内容=format("#R/一群妖魔鬼怪冲破了仙界封印，来到了#G/%s#R/作恶，还请各位英雄侠士赶紧去降服它们。",提示名称),频道="xt"})
end

function 任务处理类:刷出知了王()
  local 地图范围={1193,1091,1110,1514}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 提示名称=""
  local 结束时间=3500
  local 数量=取随机数(3,4)
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,数量 do
    local 任务id="_"..i.."_"..取随机数(11,88).."_105_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    随机序列=随机序列+1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="知了王",
      模型="知了王",
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=210
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#S/(知了王)#W/出现在#R/%s#W/处捣乱，快去降服",取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷出知了先锋()
  local 地图范围={1042,1091,1210,1110,1514}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 提示名称=""
  --xy={x=25,y=18}
  local 结束时间=3500
  local 数量=取随机数(5,8)
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,数量 do
    local 任务id="_"..i.."_"..取随机数(11,88).."_305_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="知了先锋",
      模型="鼠先锋",
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=305
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#S/(知了先锋)#W/出现在#R/%s#W/处捣乱，快去降服",取地图名称(地图)),频道="xt"})
end

function 任务处理类:完成知了先锋任务(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=0
  local 银子=0
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*1800
      银子=平均等级*1500
      玩家数据[id].角色:添加经验(经验,"知了先锋",1)
      玩家数据[id].角色:添加银子(银子,"知了先锋",1)
      if 让海啸席卷 and 取随机数()<=15 then
        添加元宝(取随机数(1,10),玩家数据[id].账号,id,"知了先锋")
      end
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*2.8),id,"知了先锋")
      end
      if 活跃数据[id]==nil then
        活跃数据[id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
      end
      if 活跃数据[id].知了先锋==nil then
        活跃数据[id].知了先锋=20
      end
      if 活跃数据[id].知了先锋>0 then
        玩家数据[id].角色:添加活跃度(2,"知了先锋",1)
        活跃数据[id].知了先锋=活跃数据[id].知了先锋-1
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=10 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,100)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(知了先锋)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=20 then
        local 名称="元宵"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(知了先锋)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(12,14))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(知了先锋)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=45 then
        local 名称="空白强化符"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(知了先锋)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=55 then
        local 名称="中级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(知了先锋)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
       elseif 奖励参数<=62 then
        玩家数据[id].角色:添加元宝(5,"知了先锋",1)
        常规提示(id,"#Y/你获得了5元宝")
        广播消息({内容=format("#S(知了先锋)#Y/经过一番激烈的战斗，玩家：#R"..玩家数据[id].角色.数据.名称.."#Y获得了#R5元宝")})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:刷出小知了王()
  local 地图范围={1210,1228,1203,1110,1173}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 提示名称=""
  local 结束时间=3500
  local 数量=取随机数(8,15)
  if 老唐定制 then
    数量=3
  end
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,数量 do
    local 任务id="_"..i.."_"..取随机数(11,88).."_306_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="小知了王",
      模型="葫芦宝贝",
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=306
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#S/(小知了王)#W/出现在#R/%s#W/处捣乱，快去降服",取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷新梦幻粉()
  local 地图范围={1210,1228,1203,1110,1173,1226,1040,1208}
  local 结束时间=3500
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local 任务id="_"..i.."_"..取随机数(1,99).."_332_"..os.time().."_"..随机序列
    随机序列= 随机序列 +1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="梦幻粉丝",
      模型="进阶葫芦宝贝",
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=332
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#W/一群了爱的梦粉出现在#G/%s#W/处，听说挑战成功会获得一定的奖励哟！。",取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷出王者荣耀()
  local 结束时间=3500
  local 地图范围={1226,1040,1208}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,15 do
    local 任务id="_"..i.."_"..取随机数(1,99).."_326_"..os.time().."_"..随机序列
    随机序列 = 随机序列 +1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="倔强青铜幼儿园",
      模型="海毛虫",
      变异=true,
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=326
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#S/(倔强青铜)出现在#R/%s#W/，大家快去降服",取地图名称(地图)),频道="xt"})
  地图=地图范围[取随机数(1,#地图范围)]
  for i=1,8 do
    local 任务id="_"..i.."_"..取随机数(1,99).."_327_"..os.time().."_"..随机序列
    随机序列 = 随机序列 +1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="秩序白银小学生",
      模型="牛头",
      变异=true,
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=327
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#S/(秩序白银)出现在#R/%s#W/，大家快去降服",取地图名称(地图)),频道="xt"})
  地图=地图范围[取随机数(1,#地图范围)]
  for i=1,6 do
    local 任务id="_"..i.."_"..取随机数(1,99).."_328_"..os.time().."_"..随机序列
    随机序列 = 随机序列 +1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="荣耀黄金初中生",
      模型="蛟龙",
      变异=true,
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=328
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#S/(荣耀黄金)出现在#R/%s#W/，大家快去降服",取地图名称(地图)),频道="xt"})
  地图=地图范围[取随机数(1,#地图范围)]
  for i=1,4 do
    local 任务id="_"..i.."_"..取随机数(1,99).."_329_"..os.time().."_"..随机序列
    随机序列 = 随机序列 +1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="永恒钻石高中生",
      模型="鬼将",
      变异=true,
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=329
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#S/(永恒钻石)出现在#R/%s#W/，大家快去降服",取地图名称(地图)),频道="xt"})
  地图=地图范围[取随机数(1,#地图范围)]
  for i=1,2 do
    local 任务id="_"..i.."_"..取随机数(1,99).."_330_"..os.time().."_"..随机序列
    随机序列 = 随机序列 +1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="至尊星耀大学生",
      模型="大力金刚",
      变异=true,
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=330
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#S/(至尊星耀)出现在#R/%s#W/，大家快去降服",取地图名称(地图)),频道="xt"})
  地图=地图范围[取随机数(1,#地图范围)]
  for i=1,1 do
    local 任务id="_"..i.."_"..取随机数(1,99).."_331_"..os.time().."_"..随机序列
    随机序列 = 随机序列 +1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      名称="最强王者研究生",
      模型="进阶毗舍童子",
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=331
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#S/(最强王者)出现在#R/%s#W/，大家快去降服",取地图名称(地图)),频道="xt"})
end

function 任务处理类:完成子鼠(任务id,id组)
  local 经验=0
  local 银子=0
  for n=1,#id组 do
    local id=id组[n]
    十二生肖[id].子鼠=true
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*平均等级*2
      银子=平均等级*100
      玩家数据[id].角色:添加经验(经验,"子鼠",1)
      玩家数据[id].角色:添加银子(银子,"子鼠",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"子鼠")
      end
      local 奖励参数=取随机数()
      if 奖励参数<=10 then
          local 名称="高级魔兽要诀"
          玩家数据[id].道具:给予道具(id,名称,1)
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=15 then
        local 名称="修炼果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=25 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,5)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称="中级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=35 then
        local 名称="中级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=40 then
        local 名称="坐骑内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=50 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,50)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=60 then
        local 名称="海马"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=70 then
        local 名称="特赦令牌"
        玩家数据[id].道具:给予道具(id,名称)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 名称="附魔宝珠"
        玩家数据[id].道具:给予道具(id,名称)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=90 then
        local 名称=取强化石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,3))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",名称),频道="xt"})
      elseif 奖励参数<=95 then
        local 名称="高级魔兽要诀"
        local 临时特殊要诀 = {"惊心一剑","死亡召唤","剑荡四方"}
        local 技能=临时特殊要诀[取随机数(1,#临时特殊要诀)]
        玩家数据[id].道具:给予道具(id,名称,nil,技能)
        常规提示(id,"#Y你得到了#R"..技能)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠",技能),频道="xt"})
      else
        添加元宝(取随机数(3,10),玩家数据[id].账号,id,"十二生肖")
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"子鼠","元宝"),频道="xt"})
      end
    end
  end
end

function 任务处理类:完成丑牛(任务id,id组)
  local 经验=0
  local 银子=0
  for n=1,#id组 do
    local id=id组[n]
    十二生肖[id].丑牛=true
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*平均等级*2
      银子=平均等级*100
      玩家数据[id].角色:添加经验(经验,"丑牛",1)
      玩家数据[id].角色:添加银子(银子,"丑牛",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"丑牛")
      end
      local 奖励参数=取随机数()
      if 奖励参数<=10 then
        local 名称="高级魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=15 then
        local 名称="修炼果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=25 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,6)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称="中级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=40 then
        local 名称="坐骑内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=50 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,50)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=60 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,14})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=70 then
        local 名称="灵饰指南书"
        玩家数据[id].道具:给予道具(id,名称,{10})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 名称="元灵晶石"
        玩家数据[id].道具:给予道具(id,名称,{10})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=90 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",名称),频道="xt"})
      elseif 奖励参数<=95 then
        local 名称="高级魔兽要诀"
        local 临时特殊要诀 = {"力劈华山","嗜血追击","壁垒击破"}
        local 技能=临时特殊要诀[取随机数(1,#临时特殊要诀)]
        玩家数据[id].道具:给予道具(id,名称,nil,技能)
        常规提示(id,"#Y你得到了#R"..技能)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛",技能),频道="xt"})
      else
        添加元宝(取随机数(3,10),玩家数据[id].账号,id,"十二生肖")
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"丑牛","元宝"),频道="xt"})
      end
    end
  end
end

function 任务处理类:完成寅虎(任务id,id组)
  local 经验=0
  local 银子=0
  for n=1,#id组 do
    local id=id组[n]
    十二生肖[id].寅虎=true
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*平均等级*2
      银子=平均等级*100
      玩家数据[id].角色:添加经验(经验,"寅虎",1)
      玩家数据[id].角色:添加银子(银子,"寅虎",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"寅虎")
      end
      local 奖励参数=取随机数()
      if 奖励参数<=5 then
        local 名称="魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=10 then
        local 名称="修炼果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=15 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,7)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=20 then
        local 名称="中级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=25 then
        local 名称="坐骑内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称="彩果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=35 then
        local 名称="月华露"
        玩家数据[id].道具:给予道具(id,名称,1,1000)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=40 then
        local 名称="易经丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=45 then
        local 名称=取强化石()
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=50 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,100)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=70 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{11,11})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=80 then
        local 名称="灵饰指南书"
        玩家数据[id].道具:给予道具(id,名称,{12})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=85 then
        local 名称="元灵晶石"
        玩家数据[id].道具:给予道具(id,名称,{12})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=90 then
        local 名称="高级魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",名称),频道="xt"})
      elseif 奖励参数<=95 then
        local 名称="高级魔兽要诀"
        local 临时特殊要诀 = {"善恶有报","上古灵符","八凶法阵"}
        local 技能=临时特殊要诀[取随机数(1,#临时特殊要诀)]
        玩家数据[id].道具:给予道具(id,名称,nil,技能)
        常规提示(id,"#Y你得到了#R"..技能)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎",技能),频道="xt"})
      else
        添加元宝(取随机数(3,10),玩家数据[id].账号,id,"十二生肖")
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"寅虎","元宝"),频道="xt"})
      end
    end
  end
end

function 任务处理类:完成卯兔(任务id,id组)
  local 经验=0
  local 银子=0
  for n=1,#id组 do
    local id=id组[n]
    十二生肖[id].卯兔=true
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*平均等级*20
      银子=平均等级*1000
      玩家数据[id].角色:添加经验(经验,"卯兔",1)
      玩家数据[id].角色:添加银子(银子,"卯兔",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"卯兔")
      end
      local 奖励参数=取随机数(1,110)
      if 奖励参数<=5 then
        local 名称="魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=10 then
        local 名称="修炼果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=15 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,8)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=20 then
        local 名称="中级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=25 then
        local 名称="坐骑内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称="彩果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=35 then
        local 名称="月华露"
        玩家数据[id].道具:给予道具(id,名称,1,1000)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=45 then
        local 名称=取强化石()
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=50 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,100)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=55 then
        local 名称="特赦令牌"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=60 then
        local 名称="碎星锤"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=65 then
        local 名称="清灵仙露"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{12,12})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=80 then
        local 名称="灵饰指南书"
        玩家数据[id].道具:给予道具(id,名称,{12})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=85 then
        local 名称="元灵晶石"
        玩家数据[id].道具:给予道具(id,名称,{12})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=90 then
        local 名称="贪狼令牌"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=95 then
        local 名称="观照万象碎片"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",名称),频道="xt"})
      elseif 奖励参数<=105 then
        local 名称="高级魔兽要诀"
        local 临时特殊要诀 = {"月光","法术防御","灵能激发"}
        local 技能=临时特殊要诀[取随机数(1,#临时特殊要诀)]
        玩家数据[id].道具:给予道具(id,名称,nil,技能)
        常规提示(id,"#Y你得到了#R"..技能)
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔",技能),频道="xt"})
      else
        添加元宝(取随机数(3,10),玩家数据[id].账号,id,"十二生肖")
        广播消息({内容=format("#S(十二生肖)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,"卯兔","元宝"),频道="xt"})
      end
    end
  end
end

function 任务处理类:完成小知了王任务(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=0
  local 银子=0
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*2000
      银子=平均等级*1500
      玩家数据[id].角色:添加经验(经验,"小知了王",1)
      玩家数据[id].角色:添加银子(银子,"小知了王",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*3.8),id,"小知了王")
      end
      if 活跃数据[id]==nil then
        活跃数据[id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
      end
      if 活跃数据[id].小知了王 == nil then
        活跃数据[id].小知了王=20
      end
      if 活跃数据[id].小知了王>0 then
        玩家数据[id].角色:添加活跃度(3,"小知了王",1)
        活跃数据[id].小知了王=活跃数据[id].小知了王-1
      end
      local 奖励参数=取随机数()
      if 奖励参数<=15 then
        local 名称="元宵"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(小知了王)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称="修炼果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(小知了王)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=45 then
        local 名称="星辉石"
        玩家数据[id].道具:给予道具(id,名称,取随机数(6,13))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(小知了王)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=60 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(14,15))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(小知了王)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 名称="高级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(小知了王)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=90 then
        玩家数据[id].角色:添加元宝(8,"小知了王",1)
        常规提示(id,"#Y/你获得了8元宝")
        广播消息({内容=format("#S(小知了王)#Y/经过一番激烈的战斗，玩家：#R"..玩家数据[id].角色.数据.名称.."#Y获得了#R8元宝")})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:添加精修时间(时间,类型,id) --1为领取 2为解冻
  if 三倍数据[id]==nil then
    三倍数据[id]={可领=2,冻结=0,间隔=os.time()}
  end
  if 玩家数据[id].角色.数据.等级<60 then
    发送数据(玩家数据[id].连接id,1501,{名称="御林军",模型="男人_马副将",对话="你的等级尚未达到60级，无法领取精修时间。"})
    return
  end
  local 领取时间=0
  local 有效时间=0
  if 类型==1 then
    if 三倍数据[id].可领<=0 then
      发送数据(玩家数据[id].连接id,1501,{名称="御林军",模型="男人_马副将",对话="你本日已经没有可领取的精修时间了，请明日再来。"})
      return
    elseif 三倍数据[id].可领<时间 then
      领取时间=三倍数据[id].可领
      三倍数据[id].可领=0
    else
      领取时间=时间
      三倍数据[id].可领=三倍数据[id].可领-时间
    end
    有效时间=领取时间*60
  end
  有效时间=有效时间*60
  if 玩家数据[id].角色:取任务(3)==0 then
    local 任务id=id.."_3_"..os.time()
    local 结束时间=有效时间
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      类型=3
    }
    玩家数据[id].角色:添加任务(任务id)
  else
    任务数据[玩家数据[id].角色:取任务(3)].结束=任务数据[玩家数据[id].角色:取任务(3)].结束+有效时间
  end
  发送数据(玩家数据[id].连接id,39)
  if 类型==1 then
    发送数据(玩家数据[id].连接id,1501,{名称="御林军",模型="男人_马副将",对话="你成功领取了"..领取时间.."小时的精修时间，请赶快去杀敌吧。加油！"})
  end
end


function 任务处理类:添加摇钱树任务(id)
  local 任务id=id.."_22_"..os.time().."_"..随机序列.."_"..取随机数(1,999)
 任务数据[任务id]={
 id=任务id,
 起始=os.time(),
 结束=3600,
 玩家id=id,
 队伍组={},
 名称="摇钱树",
 模型="摇钱树苗",
 x=math.floor(玩家数据[id].角色.数据.地图数据.x/20),
 y=math.floor(玩家数据[id].角色.数据.地图数据.y/20),
 地图编号=玩家数据[id].角色.数据.地图数据.编号,
 地图名称=取地图名称(玩家数据[id].角色.数据.地图数据.编号),
 类型=22,
 次数=0,
 除虫=0,
 浇水=0,
 施肥=0,
 计时=0,
 阶段=0,
 虫患=false,
 记录时间=os.time(),
 等待时间=os.time(),
 成功操作=0,
 操作=false

}
  地图处理类:添加单位(任务id)
  玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:刷新摇钱树强盗(id,任务)

  local 任务id=id.."_24_"..os.time().."_"..随机序列.."_"..取随机数(1,99)
  local 模型 = "强盗"
  local 名称 = "江湖大盗"
  local 地图=任务数据[任务].地图编号
  local xy={x=任务数据[任务].x+10,y=任务数据[任务].y+10}
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id=id,
    名称=名称.."("..玩家数据[id].角色.数据.名称..")",
    模型=模型,
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=24,
    主任务=任务,
    行走开关=true
  }
  任务数据[任务].刷出强盗 = 任务id
  地图处理类:添加单位(任务id)
  玩家数据[id].角色:添加任务(任务id)

end

function 任务处理类:添加摇钱树元宝任务(id,xy)
  for n=1,取随机数(1,2) do
    local 任务id=n.."_"..id.."_23_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
    local 坐标=地图处理类.地图坐标[玩家数据[id].角色.数据.地图数据.编号].寻路:最近坐标(xy)
     任务数据[任务id]={
     id=任务id,
     起始=os.time(),
     结束=3600,
     玩家id=id,
     队伍组={},
     名称="元宝",
     模型="银子",
     x=math.floor(坐标.x),
     y=math.floor(坐标.y),
     地图编号=玩家数据[id].角色.数据.地图数据.编号,
     地图名称=取地图名称(玩家数据[id].角色.数据.地图数据.编号),
     类型=23,

    }
    地图处理类:添加单位(任务id)
  end
end

function 任务处理类:设置科举任务(id)
  local 任务id=id.."_7_"..os.time()
  local 结束时间=3600
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    类型=7
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  常规提示(id,"#Y/你参加了科举活动")
end

function 任务处理类:添加摄妖香(id)
  local 任务id=id.."_9_"..os.time()
  local 结束时间=3600
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    类型=9
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
end

function 任务处理类:添加一倍经验(id)
  local 任务id=id.."_7756_"..os.time()
  local 结束时间=36000
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    类型=7756
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
end

function 任务处理类:添加双倍经验(id)
  local 任务id=id.."_7755_"..os.time()
  local 结束时间=36000
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    类型=7755
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
end

function 任务处理类:设置赏金任务(id)
  local 任务id=id.."_5_"..os.time()
  local 结束时间=99999999999999999
  local 数量=10
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    数量=数量,
    类型=6
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  常规提示(id,"#Y/你获得了赏金任务")
  发送数据(玩家数据[id].连接id,1501,{名称="赵捕头",模型="男人_衙役",对话="野外的怪物们十分不安分，老是袭击过往的村民，还请你去教训教训它们，让它们能安分守己些。"})
end

function 任务处理类:设置打造装备任务(id,临时类型,级别,序列)
  local 任务id=id.."_5_"..os.time()
  local 结束时间=99999999999999999
  local 数量=1
  if 级别<=20 then
    数量=1
  elseif 级别<=30 then
    数量=2
  elseif 级别<=40 then
    数量=3
  elseif 级别<=50 then
    数量=5
  elseif 级别<=60 then
    数量=7
  elseif 级别<=70 then
    数量=9
  elseif 级别<=80 then
    数量=12
  elseif 级别<=90 then
    数量=16
  elseif 级别<=100 then
    数量=20
  elseif 级别<=110 then
    数量=24
  else
    数量=30
  end
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    名称=临时类型,
    级别=级别,
    序列=序列,
    石头=取强化石(),
    数量=数量,
    打造类型="装备",
    类型=5
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  常规提示(id,"#Y/你获得了打造任务")
  发送数据(玩家数据[id].连接id,1501,{名称=玩家数据[id].最后对话.名称,模型=玩家数据[id].最后对话.模型,对话=format("你的#R/%s#W/已经在制作中了，但还欠缺%s块%s，你赶紧去寻找吧。找到后回来交给我就可以完成了。",临时类型,数量,任务数据[任务id].石头)})
end

function 任务处理类:设置熔合装备任务(id,临时类型,级别,序列,星级,镶嵌类型,分类)
  local 任务物品 = {"高级召唤兽内丹","高级召唤兽内丹","高级召唤兽内丹"}
  local 任务id=id.."_7758_"..os.time()
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=99999999999999999,
    玩家id=id,
    队伍组={},
    名称=临时类型,
    级别=级别,
    序列=序列,
    物品={},
    星级=星级,
    指定={},
    分类=分类,
    物品类型={},
    镶嵌类型=镶嵌类型,
    镶嵌等级=#镶嵌类型,
    打造类型="装备",
    类型=7758,
    完成=false
  }
  for i=1,3 do
    local 物品目标 = 取随机数(1,#任务物品)
    local 所需物品 = 任务物品[物品目标]
    table.remove(任务物品,物品目标)
    任务数据[任务id].物品类型[#任务数据[任务id].物品类型+1] = 所需物品
    if 所需物品 == "高级魔兽要诀" then
      任务数据[任务id].物品[#任务数据[任务id].物品+1] = 取高级要诀()
    elseif 所需物品 == "高级召唤兽内丹" then
      任务数据[任务id].物品[#任务数据[任务id].物品+1] = 取内丹("高级")
    elseif 所需物品 == "怪物卡片" then
      local 数量 = 取随机数(1,8)
      任务数据[任务id].物品[#任务数据[任务id].物品+1] = 变身卡范围[数量][取随机数(1,#变身卡范围[数量])]
    else
      local 随机 = 取随机数(1,3)
      if 随机 == 1 then
        local 药品数据 = {"孔雀红","鹿茸","仙狐涎","地狱灵芝","六道轮回","凤凰尾","火凤之睛","龙之心屑","紫石英","白露为霜","熊胆","血色茶花","丁香水","麝香"}
        任务数据[任务id].物品[#任务数据[任务id].物品+1] = 药品数据[取随机数(1,#药品数据)]
      elseif 随机 == 2 then
        local 五宝数据 = {"金刚石","龙鳞","定魂珠","避水珠","夜光珠"}
        任务数据[任务id].物品[#任务数据[任务id].物品+1] = 五宝数据[取随机数(1,#五宝数据)]
      else
        任务数据[任务id].物品[#任务数据[任务id].物品+1] = "超级金柳露"
      end
    end
  end
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  常规提示(id,"#Y/你获得了熔合任务")
  发送数据(玩家数据[id].连接id,1501,{名称="物件_打铁炉",模型="物件_打铁炉",对话=format("你的#R/%s#W已经在制作中了，但还欠缺#G%s#R(%s)#W以及#G%s#R(%s)#W以及#G%s#R(%s)#W，注意药品你要准备好1组才能完成该任务哟。",临时类型,任务数据[任务id].物品类型[1],任务数据[任务id].物品[1],任务数据[任务id].物品类型[2],任务数据[任务id].物品[2],任务数据[任务id].物品类型[3],任务数据[任务id].物品[3])})
end


function 任务处理类:设置打造灵饰任务(id,临时类型,级别,部位)
  local 任务id=id.."_5_"..os.time()
  local 结束时间=99999999999999999
  local 数量=1
  if 级别<=20 then
    数量=1
  elseif 级别<=30 then
    数量=2
  elseif 级别<=40 then
    数量=3
  elseif 级别<=50 then
    数量=5
  elseif 级别<=60 then
    数量=7
  elseif 级别<=70 then
    数量=9
  elseif 级别<=80 then
    数量=12
  elseif 级别<=90 then
    数量=16
  elseif 级别<=100 then
    数量=20
  elseif 级别<=110 then
    数量=24
  else
    数量=30
  end
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    名称=临时类型,
    级别=级别,
    部位=部位,
    石头=取强化石(),
    数量=数量,
    打造类型="灵饰",
    类型=5
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  常规提示(id,"#Y/你获得了打造任务")
  发送数据(玩家数据[id].连接id,1501,{名称=玩家数据[id].最后对话.名称,模型=玩家数据[id].最后对话.模型,对话=format("你的#R/%s#W/已经在制作中了，但还欠缺%s块%s，你赶紧去寻找吧。找到后回来交给我就可以完成了。",临时类型,数量,任务数据[任务id].石头)})
end

function 任务处理类:添加双倍(时间,类型,id) --1为领取 2为解冻
  if 双倍数据[id]==nil then
    双倍数据[id]={可领=4,冻结=0,间隔=os.time()}
  end
  if 双倍数据[id].冻结~=0 and 类型==1 then
    发送数据(玩家数据[id].连接id,1501,{名称="马副将",模型="男人_马副将",对话="请先恢复已经被冻结的双倍时间。"})
    return
  end
  local 领取时间=0
  local 有效时间=0
  if 类型==1 then
    if 双倍数据[id].可领<=0 then
      发送数据(玩家数据[id].连接id,1501,{名称="马副将",模型="男人_马副将",对话="你本日已经没有可领取的双倍时间了，请明日再来。"})
      return
    elseif 双倍数据[id].可领<时间 then
      领取时间=双倍数据[id].可领
      双倍数据[id].可领=0
    else
      领取时间=时间
      双倍数据[id].可领=双倍数据[id].可领-时间
    end
    有效时间=领取时间*60
  else
    有效时间=时间
  end
  有效时间=有效时间*60
  if 玩家数据[id].角色:取任务(2)==0 then
    local 任务id=id.."_2_"..os.time()
    local 结束时间=有效时间
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=结束时间,
      玩家id=id,
      队伍组={},
      类型=2
    }
    玩家数据[id].角色:添加任务(任务id)
  else
    任务数据[玩家数据[id].角色:取任务(2)].结束=任务数据[玩家数据[id].角色:取任务(2)].结束+有效时间
  end
  发送数据(玩家数据[id].连接id,39)
  if 类型==1 then
    发送数据(玩家数据[id].连接id,1501,{名称="马副将",模型="男人_马副将",对话="你成功领取了"..领取时间.."小时的双倍时间，请赶快去杀敌吧。加油！"})
  else
    发送数据(玩家数据[id].连接id,1501,{名称="马副将",模型="男人_马副将",对话="已经帮您恢复了冻结的时间，请赶快去杀敌吧。加油！"})
  end
end

function 任务处理类:添加罗羹(id,气血,魔法)
  local 任务id=id.."_10_"..os.time()
  local 结束时间=99999999
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    气血=气血,
    魔法=魔法,
    队伍组={},
    类型=10
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
end

function 任务处理类:添加变身(id,变化之术)
  local 任务id=id.."_1_"..os.time()
  local 结束时间=15*(1+变化之术)*60
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    类型=1
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
end

function 任务处理类:添加点化任务(id)
  local 任务id=id.."_14_"..os.time()
  local 结束时间=99999999999999999
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    类型=14
  }
  玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:设置天庭叛逆(id)
  local 地图范围={1193,1173,1092,1091,1174,1210,1110}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 临时数量=取随机数(5,10)
    local 地图=地图范围[i]
    x待发送数据[地图]={}
    for n=1,临时数量 do
      local 任务id=地图.."_128_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 模型范围={"持国巡守","毗舍童子","灵灯侍者","般若天女","真陀护法","增长巡守","金身罗汉","曼珠沙华","红萼仙子","琴仙","金饶僧","灵鹤","雾中仙","大力金刚","净瓶女娲","律法女娲","灵符女娲","如意仙子","巡游天神","星灵仙子","雨师","天兵","风伯"}--"宠物口粮",
      local 模型=模型范围[取随机数(1,#模型范围)]
      local x称谓 = "天庭叛逆"
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=1200,
        玩家id=0,
        队伍组={},
        名称=模型,
        模型=模型,
        等级=取随机数(1,140),
        称谓=x称谓,
        x=xy.x,
        y=xy.y,
        事件="明雷活动",
        地图编号=地图,
        行走开关=true,
        地图名称=取地图名称(地图),
        显示饰品=true,
        类型=128
      }
      table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
    end
  end
  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据=nil
end



function 任务处理类:捣乱的水果(id)
  local 地图范围={1193,1173,1092,1091,1174,1210,1110}
  local 捣乱的水果等级={[1193]=35,[1110]=45,[1173]=45,[1092]=55,[1091]=65,[1174]=75,[1210]=95}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 临时数量=取随机数(5,10)
    local 地图=地图范围[i]
    x待发送数据[地图]={}
    for n=1,临时数量 do
      local 任务id=地图.."_129_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 模型范围={"泡泡","超级泡泡","进阶超级泡泡"}
      local 模型名称范围={"腐烂的水果","火红的水果","金色的水果","发霉的水果","恶心的水果"}
      local 名称模型=模型名称范围[取随机数(1,#模型名称范围)]
      local 模型=模型范围[取随机数(1,#模型范围)]
      local x称谓 = "调皮的水果"
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=800,
        玩家id=0,
        队伍组={},
        名称=名称模型,
        模型=模型,
        等级=捣乱的水果等级[地图],
        称谓=x称谓,
        x=xy.x,
        y=xy.y,
        行走开关=true,
        事件="明雷活动",
        地图编号=地图,
        地图名称=取地图名称(地图),
        显示饰品=true,
        类型=129
      }
      -- 地图处理类:添加单位(任务id)
      table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
    end
  end
  广播消息({内容=format("#S/(捣乱的水果)#Y已经刷新,各路英雄快去消灭它们吧#46"),频道="xt"})

  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据={}
end

function 任务处理类:开启冠状病毒(id)
  local 地图范围={1001,1040,1070,1501,1226,1208}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 临时数量=取随机数(5,10)
    local 地图=地图范围[i]
    x待发送数据[地图]={}
    for n=1,临时数量 do
      local 任务id=地图.."_303_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 模型范围={"飞燕女泡泡","骨精灵泡泡","剑侠客泡泡","羽灵神泡泡"}
      local 模型名称范围={"调皮的病毒","嚣张的病毒","胆小的病毒","强壮的病毒","捣乱的病毒"}
      local 名称模型=模型名称范围[取随机数(1,#模型名称范围)]
      local 模型=模型范围[取随机数(1,#模型范围)]
      local x称谓 = "中国加油、武汉加油！"
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=800,
        玩家id=0,
        队伍组={},
        名称=名称模型,
        模型=模型,
        等级=60,
        称谓=x称谓,
        x=xy.x,
        y=xy.y,
        行走开关=true,
        事件="明雷活动",
        地图编号=地图,
        地图名称=取地图名称(地图),
        显示饰品=true,
        类型=303
      }
      -- 地图处理类:添加单位(任务id)
      table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
    end
  end
  广播消息({内容=format("#W/病毒肆虐，一群可怕的病毒跑到了#Y/长安城、建邺城、西凉女国、宝象国、长寿村、朱紫国#w/想要感染大唐的居民,各路英雄快去消灭它们吧#46"),频道="xt"})
  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据={}
end

function 任务处理类:完成冠状病毒(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 等级=任务数据[任务id].等级
  local 经验=等级*2000
  local 银子=等级*1000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"冠状病毒",1)
      玩家数据[id].角色:添加银子(银子,"冠状病毒",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"冠状病毒")
      end
      local 奖励参数=取随机数(1,120)
      if 奖励参数<=30 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,50)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(冠状病毒)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=35 then
        local 名称="空白强化符"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(冠状病毒)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=65 then
        local 名称="星辉石"
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,1))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(冠状病毒)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
       elseif 奖励参数 <= 55 then
        礼包奖励类:随机装备(id,90,"无级别限制")
        local 名称="90级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(冠状病毒)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=60 then
        local 名称="百炼精铁"
          玩家数据[id].道具:给予书铁(id,{6,13},"精铁")
          常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(冠状病毒)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      else
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,3))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(冠状病毒)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:设置青龙任务(id)
  if 玩家数据[id].角色:取任务(301) ~= 0 then
      添加最后对话(id,"少侠身上已经任务，请先完成任务再来！")
      return
  elseif 玩家数据[id].队伍 ~= 0 then
      添加最后对话(id,"组队状态下无法接任务！")
      return
  end
  local 任务id = id.."_"..取随机数(88,1111).."_301_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  self.随机数字 = 取随机数(1,100)
  local 任务分类=1
  if self.随机数字<=35 then
    任务分类=1
  elseif self.随机数字<=55 then
    任务分类=2
  elseif self.随机数字<=80 then
    任务分类=3
  else
    任务分类=4
  end
  任务数据[任务id]={
    领取人id={id},
    id=任务id,
    起始=os.time(),
    结束=9999999,
    玩家id=id,
    队伍组={},
    分类=任务分类,
    帮派总管=玩家数据[id].最后对话.名称,
    类型=301
  }
  if 任务分类==1 then
    local 序列=取随机数(1,#Q_青龙人物随机)
    任务数据[任务id].人物=Q_青龙人物随机[序列].名称
    任务数据[任务id].人物地图=Q_青龙人物随机[序列].地图
    添加最后对话(id,format("请帮我将这封书信送给#Y%s#W的#R%s#W，事出紧急，切勿在路上耽搁。",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物))
  elseif 任务分类==2 then
    self.随机药品=Q_随机药品[取随机数(1,#Q_随机药品)]
    任务数据[任务id].药品=self.随机药品
    添加最后对话(id,format("近日物资紧缺，请你前寻找#Y%s#W，事出紧急，切勿在路上耽搁。",任务数据[任务id].药品))
  elseif 任务分类==3 then
    self.随机烹饪=Q_随机烹饪[取随机数(1,#Q_随机烹饪)]
    任务数据[任务id].烹饪=self.随机烹饪
    添加最后对话(id,format("近日物资紧缺，请你前寻找#Y%s#W，事出紧急，切勿在路上耽搁。",任务数据[任务id].烹饪))
  else
    任务数据[任务id].巡逻=0
    添加最后对话(id,format("最近常有敌对门派探子在长安城内出现，还请你在四周巡逻一番。"))
  end
  玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:完成青龙任务(任务id,数字id,类型)
  if 任务数据[任务id]==nil or 任务数据[任务id].分类~=类型 then
    常规提示(id,"#Y/你没有这样的任务")
    return
  end
  self.青龙经验 = math.floor(玩家数据[数字id].角色.数据.等级*玩家数据[数字id].角色.数据.等级*10)
  self.青龙银子 = math.floor(玩家数据[数字id].角色.数据.等级*玩家数据[数字id].角色.数据.等级*3)
  玩家数据[数字id].角色:添加经验(self.青龙经验,"青龙任务",1)
  玩家数据[数字id].角色:添加银子(self.青龙银子,"青龙任务",1)
  if 玩家数据[数字id].角色.参战信息~=nil then
    玩家数据[数字id].召唤兽:获得经验(玩家数据[数字id].角色.数据.参战宝宝.认证码,qz(self.青龙经验*0.5),数字id,"青龙任务",self.地图等级)
  end
  if 活跃数据[数字id]==nil then
    活跃数据[数字id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
  end
  if 活跃数据[数字id].帮派青龙次数==nil then
    活跃数据[数字id].帮派青龙次数=100
  end
  if 活跃数据[数字id].帮派青龙次数>0 then
    玩家数据[数字id].角色:添加活跃度(1,"青龙任务",1)
    活跃数据[数字id].帮派青龙次数=活跃数据[数字id].帮派青龙次数-1
  end
  if 让海啸席卷 then
    local 奖励参数 = 取随机数()
    if 奖励参数<=65 then
      local 奖励数据=玩家数据[数字id].道具:给予书铁(数字id,{7,14})
      常规提示(数字id,"#Y你得到了#R"..奖励数据[1])
    elseif 奖励参数<=80 then
      local 名称="高级魔兽要诀"
      玩家数据[数字id].道具:给予道具(数字id,名称)
    elseif 奖励参数<=99 then
      local 名称="元宝"
      添加元宝(取随机数(2,20),玩家数据[数字id].账号,数字id,"青龙任务")
      常规提示(数字id,"#Y/你获得了"..名称)
    else
      local 名称="高级魔兽要诀"
      local 技能=取特殊要诀()
      玩家数据[数字id].道具:给予道具(数字id,名称,nil,技能)
    end
  end
  local 帮派编号 = 玩家数据[数字id].角色.数据.帮派数据.编号
  if 老唐定制 then
    玩家数据[数字id].角色.数据.帮贡 = 玩家数据[数字id].角色.数据.帮贡 + 10
    帮派数据[帮派编号].成员数据[数字id].帮贡.当前 = 帮派数据[帮派编号].成员数据[数字id].帮贡.当前 + 10
    帮派数据[帮派编号].成员数据[数字id].帮贡.上限 = 帮派数据[帮派编号].成员数据[数字id].帮贡.上限 + 10
    帮派数据[帮派编号].安定度 = 帮派数据[帮派编号].安定度 + 1
    常规提示(数字id,"#Y/你获得了10点帮派贡献度，帮派增加了1点安定度")
  else
    玩家数据[数字id].角色.数据.帮贡 = 玩家数据[数字id].角色.数据.帮贡 + 2
    帮派数据[帮派编号].成员数据[数字id].帮贡.当前 = 帮派数据[帮派编号].成员数据[数字id].帮贡.当前 + 2
    帮派数据[帮派编号].成员数据[数字id].帮贡.上限 = 帮派数据[帮派编号].成员数据[数字id].帮贡.上限 + 2
    帮派数据[帮派编号].安定度 = 帮派数据[帮派编号].安定度 + 1
    常规提示(数字id,"#Y/你获得了2点帮派贡献度，帮派增加了1点安定度")
  end

  local 当前内政 = 帮派数据[帮派编号].当前内政
  if 当前内政 ~= "无" and 帮派数据[帮派编号].帮派建筑[当前内政].数量 < 取帮派建筑数量(帮派数据[帮派编号].帮派规模) then
      帮派数据[帮派编号].帮派建筑[当前内政].当前经验 = 帮派数据[帮派编号].帮派建筑[当前内政].当前经验 + 50
      if 帮派数据[帮派编号].帮派建筑[当前内政].当前经验 >= 帮派建筑升级经验[帮派数据[帮派编号].帮派建筑[当前内政].数量] then
        帮派数据[帮派编号].帮派建筑[当前内政].当前经验 = 0
        帮派数据[帮派编号].帮派建筑[当前内政].数量 = 帮派数据[帮派编号].帮派建筑[当前内政].数量 +1
        if 当前内政 == "金库" then
          if 帮派数据[帮派编号].帮派规模 == 1 then
            帮派数据[帮派编号].帮派资金限 =5000000+帮派数据[帮派编号].帮派建筑.金库.数量*1000000
          elseif 帮派数据[帮派编号].帮派规模 == 2 then
            帮派数据[帮派编号].帮派资金限 =10000000+帮派数据[帮派编号].帮派建筑.金库.数量*1000000
          elseif 帮派数据[帮派编号].帮派规模 == 3 then
            帮派数据[帮派编号].帮派资金限 =20000000+帮派数据[帮派编号].帮派建筑.金库.数量*1000000
          elseif 帮派数据[帮派编号].帮派规模 == 4 then
            帮派数据[帮派编号].帮派资金限 =30000000+帮派数据[帮派编号].帮派建筑.金库.数量*1000000
          elseif 帮派数据[帮派编号].帮派规模 == 5 then
            帮派数据[帮派编号].帮派资金限 =40000000+帮派数据[帮派编号].帮派建筑.金库.数量*1000000
          end
        elseif 当前内政 == "仓库" then
          if 帮派数据[帮派编号].帮派规模 == 1 then
            帮派数据[帮派编号].帮派资材.上限 =1000+帮派数据[帮派编号].帮派建筑.仓库.数量*100
          elseif 帮派数据[帮派编号].帮派规模 == 2 then
            帮派数据[帮派编号].帮派资材.上限 =1200+帮派数据[帮派编号].帮派建筑.仓库.数量*100
          elseif 帮派数据[帮派编号].帮派规模 == 3 then
            帮派数据[帮派编号].帮派资材.上限 =1400+帮派数据[帮派编号].帮派建筑.仓库.数量*100
          elseif 帮派数据[帮派编号].帮派规模 == 4 then
            帮派数据[帮派编号].帮派资材.上限 =1600+帮派数据[帮派编号].帮派建筑.仓库.数量*100
          elseif 帮派数据[帮派编号].帮派规模 == 5 then
            帮派数据[帮派编号].帮派资材.上限 =1800+帮派数据[帮派编号].帮派建筑.仓库.数量*100
          end
        elseif 当前内政 == "药房" then
          if 帮派数据[帮派编号].帮派规模 == 1 then
            帮派数据[帮派编号].药品增加量 = 帮派数据[帮派编号].帮派建筑.药房.数量*5
          elseif 帮派数据[帮派编号].帮派规模 == 2 then
            帮派数据[帮派编号].药品增加量 = 帮派数据[帮派编号].帮派建筑.药房.数量*5
          elseif 帮派数据[帮派编号].帮派规模 == 3 then
            帮派数据[帮派编号].药品增加量 = 帮派数据[帮派编号].帮派建筑.药房.数量*5
          elseif 帮派数据[帮派编号].帮派规模 == 4 then
            帮派数据[帮派编号].药品增加量 = 帮派数据[帮派编号].帮派建筑.药房.数量*5
          elseif 帮派数据[帮派编号].帮派规模 == 5 then
            帮派数据[帮派编号].药品增加量 = 帮派数据[帮派编号].帮派建筑.药房.数量*5
          end
        elseif 当前内政 == "厢房" then
          if 帮派数据[帮派编号].帮派规模 == 1 then
            帮派数据[帮派编号].成员数量.上限 =100+帮派数据[帮派编号].帮派建筑.厢房.数量*10
          elseif 帮派数据[帮派编号].帮派规模 == 2 then
            帮派数据[帮派编号].成员数量.上限 = 110+帮派数据[帮派编号].帮派建筑.厢房.数量*10
          elseif 帮派数据[帮派编号].帮派规模 == 3 then
            帮派数据[帮派编号].成员数量.上限 = 120+帮派数据[帮派编号].帮派建筑.厢房.数量*10
          elseif 帮派数据[帮派编号].帮派规模 == 4 then
            帮派数据[帮派编号].成员数量.上限 = 130+帮派数据[帮派编号].帮派建筑.厢房.数量*10
          elseif 帮派数据[帮派编号].帮派规模 == 5 then
            帮派数据[帮派编号].成员数量.上限 = 150+帮派数据[帮派编号].帮派建筑.厢房.数量*10
          end
        end
        帮派数据[帮派编号].当前内政 = "无"
        广播帮派消息({内容="[帮派总管]#R/当前帮派内政: "..当前内政.."已经完成,请及时设置新的内政。",频道="bp"},帮派编号)
      end
  end
  任务数据[任务id]=nil
  玩家数据[数字id].角色:取消任务(任务id)
end

function 任务处理类:设置玄武任务(id)
  if 玩家数据[id].角色:取任务(302) ~= 0 then
      添加最后对话(id,"少侠身上已经任务，请先完成任务再来！")
      return
  elseif 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
      常规提示(id,"#Y/该任务必须组队完成且由队长领取")
      return
  elseif 取队伍人数(id)<2 then
      常规提示(id,"#Y/本任务至少需要三人组队完成")
      return
  end
  local 任务id = id.."_"..取随机数(88,1111).."_302_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  local x临时人物队伍={}
  if 玩家数据[id].队伍~=nil and 玩家数据[id].队伍~=0 then
    for i=1,#队伍数据[玩家数据[id].队伍].成员数据 do
      if 队伍数据[玩家数据[id].队伍].成员数据[i]~=nil then
        x临时人物队伍[#x临时人物队伍+1]=队伍数据[玩家数据[id].队伍].成员数据[i]
      end
    end
  end
  local 队伍id=玩家数据[id].队伍
  self.随机数字 = 取随机数(1,100)
  local 任务分类=1
  if self.随机数字<=35 then
    任务分类=1
  elseif self.随机数字<=55 then
    任务分类=2
  elseif self.随机数字<=80 then
    任务分类=3
  else
    任务分类=4
  end
  任务数据[任务id]={
    领取人id=x临时人物队伍,
    id=任务id,
    起始=os.time(),
    结束=9999999,
    玩家id={},
    队伍组={},
    分类=任务分类,
    帮派总管=玩家数据[id].最后对话.名称,
    类型=302
  }
  if 任务分类==1 then
    local 序列=取随机数(1,#Q_青龙人物随机)
    任务数据[任务id].人物=Q_青龙人物随机[序列].名称
    任务数据[任务id].人物地图=Q_青龙人物随机[序列].地图
    for n=1,#队伍数据[队伍id].成员数据 do
      local 临时id=队伍数据[队伍id].成员数据[n]
      任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=临时id
      玩家数据[临时id].角色:添加任务(任务id)
      发送数据(玩家数据[临时id].连接id,1501,{名称="厢房总管",模型="男人_兰虎",对话=format("请帮我将这封书信送给#Y%s#W的#R%s#W，事出紧急，切勿在路上耽搁。",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物)})
    end
  elseif 任务分类==2 then
    self.随机药品=Q_随机药品[取随机数(1,#Q_随机药品)]
    任务数据[任务id].药品=self.随机药品
    for n=1,#队伍数据[队伍id].成员数据 do
      local 临时id=队伍数据[队伍id].成员数据[n]
      任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=临时id
      玩家数据[临时id].角色:添加任务(任务id)
      发送数据(玩家数据[临时id].连接id,1501,{名称="厢房总管",模型="男人_兰虎",对话=format("近日物资紧缺，请你前寻找#Y%s#W，事出紧急，切勿在路上耽搁。",任务数据[任务id].药品)})
    end
  elseif 任务分类==3 then
    self.随机烹饪=Q_随机烹饪[取随机数(1,#Q_随机烹饪)]
    任务数据[任务id].烹饪=self.随机烹饪
    for n=1,#队伍数据[队伍id].成员数据 do
      local 临时id=队伍数据[队伍id].成员数据[n]
      任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=临时id
      玩家数据[临时id].角色.数据.江湖次数=玩家数据[临时id].角色.数据.江湖次数+1
      玩家数据[临时id].角色:添加任务(任务id)
      发送数据(玩家数据[临时id].连接id,1501,{名称="厢房总管",模型="男人_兰虎",对话=format("近日物资紧缺，请你前寻找#Y%s#W，事出紧急，切勿在路上耽搁。",任务数据[任务id].烹饪)})
    end
  else
    任务数据[任务id].巡逻=0
    for n=1,#队伍数据[队伍id].成员数据 do
      local 临时id=队伍数据[队伍id].成员数据[n]
      任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=临时id
      玩家数据[临时id].角色.数据.江湖次数=玩家数据[临时id].角色.数据.江湖次数+1
      玩家数据[临时id].角色:添加任务(任务id)
      发送数据(玩家数据[临时id].连接id,1501,{名称="厢房总管",模型="男人_兰虎",对话=format("最近常有敌对门派探子在长安城内出现，还请你在四周巡逻一番。")})
    end
  end
end

function 任务处理类:完成玄武任务(任务id,id组,类型)
  if 任务数据[任务id]==nil or 任务数据[任务id].分类~=类型 then
    常规提示(id,"#Y/你没有这样的任务")
    return
  end
  for n=1,#id组 do
    if 队伍处理类:取是否助战(玩家数据[id组[n]].队伍,n) == 0 then
      local 帮派编号 = 玩家数据[id组[n]].角色.数据.帮派数据.编号
      self.青龙经验 = math.floor(玩家数据[id组[n]].角色.数据.等级*玩家数据[id组[n]].角色.数据.等级*8)
      self.青龙银子 = math.floor(玩家数据[id组[n]].角色.数据.等级*玩家数据[id组[n]].角色.数据.等级*3)
      玩家数据[id组[n]].角色:添加经验(self.青龙经验,"玄武任务",1)
      玩家数据[id组[n]].角色:添加银子(self.青龙银子,"玄武任务",1)
      if 玩家数据[id组[n]].角色.参战信息~=nil then
        玩家数据[id组[n]].召唤兽:获得经验(玩家数据[id组[n]].角色.数据.参战宝宝.认证码,qz(self.青龙经验*0.5),id组[n],"玄武任务",self.地图等级)
      end
      if 活跃数据[id组[n]]==nil then
        活跃数据[id组[n]]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,抓鬼次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
      end
      if 活跃数据[id组[n]].帮派玄武次数==nil then
        活跃数据[id组[n]].帮派玄武次数=100
      end
      if 活跃数据[id组[n]].帮派玄武次数>0 then
        玩家数据[id组[n]].角色:添加活跃度(2,"玄武任务",1)
        活跃数据[id组[n]].帮派玄武次数=活跃数据[id组[n]].帮派玄武次数-1
      end
      if 让海啸席卷 then
        local 奖励参数 = 取随机数()
        if 奖励参数<=65 then
          local 奖励数据=玩家数据[id组[n]].道具:给予书铁(id组[n],{7,14})
          常规提示(id组[n],"#Y你得到了#R"..奖励数据[1])
        elseif 奖励参数<=80 then
          local 名称="高级魔兽要诀"
          玩家数据[id组[n]].道具:给予道具(id组[n],名称)
        elseif 奖励参数<=99 then
          local 名称="元宝"
          添加元宝(取随机数(2,20),玩家数据[id组[n]].账号,id组[n],"青龙任务")
          常规提示(id组[n],"#Y/你获得了"..名称)
        else
          local 名称="高级魔兽要诀"
          local 技能=取特殊要诀()
          玩家数据[id组[n]].道具:给予道具(id组[n],名称,nil,技能)
        end
      end
      if 老唐定制 then
        玩家数据[id组[n]].角色.数据.帮贡 = 玩家数据[id组[n]].角色.数据.帮贡 + 10
        帮派数据[帮派编号].成员数据[id组[n]].帮贡.当前 = 帮派数据[帮派编号].成员数据[id组[n]].帮贡.当前 + 10
        帮派数据[帮派编号].成员数据[id组[n]].帮贡.上限 = 帮派数据[帮派编号].成员数据[id组[n]].帮贡.上限 + 10
        帮派数据[帮派编号].安定度 = 帮派数据[帮派编号].安定度 + 1
        常规提示(id组[n],"#Y/你获得了10点帮派贡献度，帮派增加了1点安定度")
      else
        玩家数据[id组[n]].角色.数据.帮贡 = 玩家数据[id组[n]].角色.数据.帮贡 + 2
        帮派数据[帮派编号].成员数据[id组[n]].帮贡.当前 = 帮派数据[帮派编号].成员数据[id组[n]].帮贡.当前 + 2
        帮派数据[帮派编号].成员数据[id组[n]].帮贡.上限 = 帮派数据[帮派编号].成员数据[id组[n]].帮贡.上限 + 2
        帮派数据[帮派编号].安定度 = 帮派数据[帮派编号].安定度 + 1
        常规提示(id组[n],"#Y/你获得了2点帮派贡献度，帮派增加了1点安定度")
      end

      任务数据[任务id]=nil
      玩家数据[id组[n]].角色:取消任务(任务id)
    end
  end
end

function 任务处理类:开启坐骑任务(id)
  if 玩家数据[id].角色:取任务(307)~=0 then
    常规提示(id,"#Y/你当前已经获得坐骑任务了，快去完成吧！")
    return
  end
  local 坐骑费用 = 8000
  if 取银子(id) < 坐骑费用 then
      常规提示(id,"#Y/你的银两不够接取任务哦")
      return
  end
  if 玩家数据[id].角色.数据.体力<100 then
      常规提示(id,"#Y/你当前没有那么体力，无法领取任务！")
      return
  end
  玩家数据[id].角色:扣除银子(坐骑费用,0,0,"坐骑费用",1)
  local 任务id=id.."_307_"..os.time()
  local 结束时间=99999999
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    气血=气血,
    魔法=魔法,
    烹饪=0,
    法宝=0,
    药品=0,
    分类=1,
    队伍组={},
    类型=307
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  发送数据(玩家数据[id].连接id,1501,{名称="百兽王",模型="大大王",对话=format("快去找长寿村的太白金星咨询下吧！"),选项={"我这就去"}})
end

function 任务处理类:完成坐骑任务(任务id,id)
  if 任务数据[任务id]==nil then
    return
  end
  玩家数据[id].角色.数据.种族坐骑=true
  玩家数据[id].角色:增加坐骑(id)
  任务数据[任务id]=nil
  玩家数据[id].角色:取消任务(任务id)
end

function 任务处理类:开启法宝任务(id)

  local 任务id = id.."_"..取随机数(88,1111).."_308_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  self.随机数字 = 取随机数(1,100)
  if self.随机数字 <= 35 then
      任务数据[任务id]={
        领取人id={id},
        id=任务id,
        起始=os.time(),
        结束=9999999,
        玩家id=id,
        队伍组={},
        分类=1,
        法宝NPC=玩家数据[id].最后对话.名称,
        类型=308
      }
      local 序列=取随机数(1,#Q_青龙人物随机)
      任务数据[任务id].人物=Q_青龙人物随机[序列].名称
      任务数据[任务id].人物地图=Q_青龙人物随机[序列].地图
      添加最后对话(id,format("#Y%s#W的#R%s#W正需要帮忙，少侠可以去看看，或许有意外的收获。",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物))
  elseif self.随机数字 <= 55 then
      self.随机药品=Q_随机药品[取随机数(1,#Q_随机药品)]
      任务数据[任务id]={
        领取人id={id},
        id=任务id,
        起始=os.time(),
        结束=9999999,
        玩家id=id,
        队伍组={},
        分类=2,
        法宝NPC=玩家数据[id].最后对话.名称,
        物品=self.随机药品,
        类型=308
      }
      添加最后对话(id,format("近日物资紧缺，请你前寻找#Y%s#W，事出紧急，切勿在路上耽搁。",self.随机药品))
  elseif self.随机数字 <= 80 then
      self.随机烹饪=Q_随机烹饪[取随机数(1,#Q_随机烹饪)]
      任务数据[任务id]={
        领取人id={id},
        id=任务id,
        起始=os.time(),
        结束=9999999,
        玩家id=id,
        队伍组={},
        法宝NPC=玩家数据[id].最后对话.名称,
        物品=self.随机烹饪,
        分类=3,
        类型=308
      }
      添加最后对话(id,format("近日物资紧缺，请你前寻找#Y%s#W，事出紧急，切勿在路上耽搁。",self.随机烹饪))
  else
      任务数据[任务id]={
        领取人id={id},
        id=任务id,
        起始=os.time(),
        结束=9999999,
        玩家id=id,
        队伍组={},
        法宝NPC=玩家数据[id].最后对话.名称,
        分类=4,
        类型=308
      }
      local 序列=取随机数(1,#Q_青龙人物随机)
      任务数据[任务id].人物=Q_青龙人物随机[序列].名称
      任务数据[任务id].人物地图=Q_青龙人物随机[序列].地图
      添加最后对话(id,format("#Y%s#W的#R%s#W仗着自己会点武功，到处惹是生非，希望少侠能为名除害。",取地图名称(任务数据[任务id].人物地图),任务数据[任务id].人物))
  end
  if 任务数据[任务id].进程==nil then
      任务数据[任务id].进程=1
  else
      任务数据[任务id].进程=2
  end
  玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:完成法宝任务(任务id,id)
  if 任务数据[任务id]==nil then
    return
  end
  local 随机材料=Q_随机材料[取随机数(1,#Q_随机材料)]
  玩家数据[id].道具:给予道具(id,随机材料,1,nil,nil,"专用")
  常规提示(id,"恭喜少侠获得了法宝合成材料"..随机材料.."。")
  if 玩家数据[id].角色.法宝进程==nil then
      玩家数据[id].角色.法宝进程=1
      玩家数据[id].角色:取消任务(任务id)
      self:开启法宝任务(id)
      常规提示(id,"你获得了一个新的法宝任务。")
  else
      玩家数据[id].角色:取消任务(任务id)
      玩家数据[id].角色.法宝进程=2
  end
  if 玩家数据[id].角色.法宝进程==2 then
      发送数据(玩家数据[id].连接id,1501,{名称="金童子",模型="男人_道童",对话=format("少侠已经集齐法宝合成的材料了，可以来天宫找我领取内丹任务进行法宝合成哦")})
  end
end

function 任务处理类:开启法宝内丹任务(id)
    local 地图范围={1501,1092,1070,1193,1173,1146,1140,1208,1040,1226,1142}
    local 地图=地图范围[取随机数(1,#地图范围)]
    local 任务id=地图.."_309_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=2400,
      玩家id={},
      队伍组={},
      名称="千年妖魔",
      模型="进阶吸血鬼",
      变异=true,
      x=xy.x,
      y=xy.y,
      副本id=id,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=309
    }
    添加最后对话(id,format("内丹是修炼者经过百年甚至千年的修炼在体内以灵气结成的丹丸，#Y%s#W正在#R%s#Y%s#W，#Y%s四处为祸人间，少侠可前往收服该妖魔获取内丹。",任务数据[任务id].名称,任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y))
    地图处理类:添加单位(任务id)
    玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:完成法宝内丹任务(任务id,id)
  if 任务数据[任务id]==nil then
    return
  end
  玩家数据[id].道具:给予道具(id,"内丹",1,nil,nil,"专用")
  if 玩家数据[id].角色.法宝进程==2 then
      玩家数据[id].角色.法宝进程=nil
  end
  常规提示(id,"恭喜少侠获得了法宝合成材料内丹，可以去金童子处合成法宝了。")
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  玩家数据[id].角色:取消任务(任务id)
end

function 任务处理类:开启飞升大唐推荐战斗(id)
    local 地图范围={1506}
    local 地图=地图范围[取随机数(1,#地图范围)]
    local 任务id=地图.."_310_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=2400,
      玩家id={},
      队伍组={},
      名称="横行霸道的土匪",
      模型="强盗",
      变异=true,
      进度=1,
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=310
    }
    地图处理类:添加单位(任务id)
    玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:开启飞升化生推荐(id)
    local 任务id="311"..os.time()..取随机数(88,999999999)
    任务数据[任务id]={
      领取人id={id},
      id=任务id,
      起始=os.time(),
      结束=2400,
      玩家id=id,
      队伍组={},
      类型=311,
      任务NPC=玩家数据[id].最后对话.名称,
      进度=1
    }
    local 序列=取随机数(1,#Q_飞升化生推荐)
    local 序列2=取随机数(1,#Q_飞升化生推荐)
    local 序列3=取随机数(1,#Q_飞升化生推荐)
    任务数据[任务id].人物={[1]={名称=Q_飞升化生推荐[序列].名称,找到=false},[2]={名称=Q_飞升化生推荐[序列2].名称,找到=false},[3]={名称=Q_飞升化生推荐[序列3].名称,找到=false}}
    任务数据[任务id].人物地图=Q_飞升化生推荐[序列].地图
    玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:开启飞升女儿推荐(id)
    local 任务id="312"..os.time()..取随机数(88,999999999)
    任务数据[任务id]={
      领取人id={id},
      id=任务id,
      起始=os.time(),
      结束=900,
      玩家id=id,
      队伍组={},
      类型=312,
      进度=1
    }
    玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:开启飞升方寸推荐战斗(id)
    local 地图范围={1506}
    local 地图=地图范围[取随机数(1,#地图范围)]
    local 任务id=地图.."_313_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local xy=地图处理类.地图坐标[地图]:取随机点()
    if 玩家数据[id].道具.数据[玩家数据[id].角色.数据.锦衣[1]]==nil then
        锦衣=0
    else
        锦衣=玩家数据[id].道具.数据[玩家数据[id].角色.数据.锦衣[1]].名称
    end
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=2400,
      玩家id={},
      队伍组={},
      名称=玩家数据[id].角色.数据.名称.."的心魔",
      模型=玩家数据[id].角色.数据.造型,
      染色组=玩家数据[id].角色.数据.染色组,
      染色方案=玩家数据[id].角色.数据.染色方案,
      --武器=玩家数据[id].道具.数据[玩家数据[id].角色.数据.装备[3]].名称,
      --武器等级=玩家数据[id].道具.数据[玩家数据[id].角色.数据.装备[3]].级别限制,
      --武器染色方案=玩家数据[id].道具.数据[玩家数据[id].角色.数据.装备[3]].染色方案,
      --武器染色组=玩家数据[id].道具.数据[玩家数据[id].角色.数据.装备[3]].染色组,
      进度=1,
      x=xy.x,
      y=xy.y,
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=313
    }
    地图处理类:添加单位(任务id)
    玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:加载首席单位()
  local 门派名称={"大唐官府","神木林","方寸山","化生寺","女儿村","天宫","普陀山","五庄观","凌波城","龙宫","魔王寨","狮驼岭","盘丝洞","无底洞","阴曹地府"}
  for n=1,#门派名称 do
    local 任务id=门派名称[n]..999888
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=99999999999,
      名称=首席争霸[门派名称[n]].名称,
      模型=首席争霸[门派名称[n]].模型,
      称谓="首席弟子",
      染色组=首席争霸[门派名称[n]].染色组,
      染色方案=首席争霸[门派名称[n]].染色方案,
      武器=首席争霸[门派名称[n]].武器,
      武器等级=首席争霸[门派名称[n]].武器等级,
      武器染色方案=首席争霸[门派名称[n]].武器染色方案,
      武器染色组=首席争霸[门派名称[n]].武器染色组,
      x=Q_首席弟子[门派名称[n]].x,
      y=Q_首席弟子[门派名称[n]].y,
      门派=门派名称[n],
      方向=Q_首席弟子[门派名称[n]].方向,
      地图编号=Q_首席弟子[门派名称[n]].地图,
      地图名称=门派名称[n],
      类型=999888,
    }
  地图处理类:添加单位(任务id)
  end
end

function 任务处理类:完成生死劫挑战(id)
  local 层数=生死劫数据[id]
  local 奖励=""
  if 玩家数据[id].角色.数据.生死劫 then
  else
    if 层数==1 then
      玩家数据[id].角色:添加称谓(id,"生死劫·止戈")
    elseif 层数==2 then
      玩家数据[id].角色:删除称谓(id,"生死劫·止戈")
      玩家数据[id].角色:添加称谓(id,"生死劫·清心")
    elseif 层数==3 then
      玩家数据[id].角色:删除称谓(id,"生死劫·清心")
      玩家数据[id].角色:添加称谓(id,"生死劫·雷霆")
    elseif 层数==4 then
      玩家数据[id].角色:删除称谓(id,"生死劫·雷霆")
      玩家数据[id].角色:添加称谓(id,"生死劫·惜花")
    elseif 层数==5 then
      玩家数据[id].角色:删除称谓(id,"生死劫·惜花")
      玩家数据[id].角色:添加称谓(id,"生死劫·忘情")
    elseif 层数==6 then
      玩家数据[id].角色:删除称谓(id,"生死劫·忘情")
      玩家数据[id].角色:添加称谓(id,"生死劫·卧龙")
    elseif 层数==7 then
      玩家数据[id].角色:删除称谓(id,"生死劫·卧龙")
      玩家数据[id].角色:添加称谓(id,"生死劫·天象")
    elseif 层数==8 then
      玩家数据[id].角色:删除称谓(id,"生死劫·天象")
      玩家数据[id].角色:添加称谓(id,"生死劫·轮回")
    elseif 层数==9 then
      玩家数据[id].角色:删除称谓(id,"生死劫·轮回")
      玩家数据[id].角色:添加称谓(id,"生死劫·娑罗")
    end
  end
  if 层数==1 then
    奖励="20万经验"
    玩家数据[id].角色:添加经验(200000,"生死劫1")
  elseif 层数==2 then
    local 名称=取宝石()
    玩家数据[id].道具:给予道具(id,名称,3)
    常规提示(id,"#Y/你获得了"..名称)
    奖励="3级"..名称
  elseif 层数==3 then
    奖励="20w两银子"
    玩家数据[id].角色:添加银子(200000,"生死劫3",1)
    local 奖励数据=玩家数据[id].道具:给予书铁(id,{12,12})
    常规提示(id,"#Y你得到了#R"..奖励数据[1])
    奖励="20w两银子、"..奖励数据[1]
  elseif 层数==4 then
    local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,15})
    常规提示(id,"#Y你得到了#R"..奖励数据[1])
    奖励=奖励数据[1]
  elseif 层数==5 then
    local 名称="星辉石"
    玩家数据[id].道具:给予道具(id,名称,3)
    常规提示(id,"#Y/你获得了"..名称)
    奖励="3级"..名称
  elseif 层数==6 then
    local 名称=取宝石()
    玩家数据[id].道具:给予道具(id,名称,6)
    常规提示(id,"#Y/你获得了"..名称)
    local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,15})
    常规提示(id,"#Y你得到了#R"..奖励数据[1])
    奖励="5级"..名称.."、"..奖励数据[1]
  elseif 层数==7 then
    奖励="200000两银子"
    玩家数据[id].角色:添加银子(200000,"生死劫7",1)
    local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,15})
    常规提示(id,"#Y你得到了#R"..奖励数据[1])
    奖励=奖励数据[1]
  elseif 层数==8 then
    local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,15})
    常规提示(id,"#Y你得到了#R"..奖励数据[1])
    奖励=奖励数据[1]
  elseif 层数==9 then
    local 名称="修炼果"
    玩家数据[id].道具:给予道具(id,名称,10)
    常规提示(id,"#Y/你获得了"..名称)
    local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,16})
    常规提示(id,"#Y你得到了#R"..奖励数据[1])
    奖励="修炼果*10".."、"..奖励数据[1]
    玩家数据[id].角色.数据.生死劫=true
  end
  广播消息({内容=format("#S(生死劫)#R/%s#Y成功完成了第#R%s#Y场生死劫挑战，丹青生对其欣赏有加，特赐#G/%s#Y以作奖励".."#57",玩家数据[id].角色.数据.名称,生死劫数据[id],奖励),频道="xt"})
  生死劫数据[id]=生死劫数据[id]+1
  if 活跃数据[id]==nil then
    活跃数据[id]={活跃度=0,领取100活跃=false,领取200活跃=false,领取300活跃=false,领取400活跃=false,领取500活跃=false,师门次数=20,官职次数=30,鬼怪次数=25,封妖次数=3,游泳次数=1,镖王次数=1,押镖次数=50,水果次数=25,天庭叛逆次数=25,十二星宿次数=5,门派闯关次数=1,地煞星次数=5,天罡星次数=5,飞贼次数=5,知了先锋=20,小知了王=20,知了王=10,世界BOSS次数=2,魔域次数=50,初出江湖次数=20,帮派青龙次数=100,帮派玄武次数=100,妖王次数=3}
  end
  玩家数据[id].角色:添加活跃度(20,"生死劫挑战",1)
  if 生死劫数据.次数[id]==nil then 生死劫数据.次数[id]=0 end
  生死劫数据.次数[id]=生死劫数据.次数[id]+1
  if 生死劫数据[id]==10 then 生死劫数据[id]=1 end
end

function 任务处理类:刷新世界BOSS(id)
  local 地图范围={1174,1177,1186}
  local 等级=60
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 任务id="_"..等级.."_"..取随机数(1999,11111).."_206_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..等级
  随机序列=随机序列+1
  local 造型="进阶黑山老妖"
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id=id,
    队伍组={},
    称谓="世界BOSS("..等级.."级)",
    名称="万年妖王",
    模型=造型,
    等级=等级,
    行走开关=true,
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=206
  }

  地图处理类:添加单位(任务id)
  广播消息({内容=format("#S(世界BOSS)#Y%s#G已经出现在#Y%s#G场景内",任务数据[任务id].名称,任务数据[任务id].地图名称),频道="xt"})
  local 地图范围={1202,1201,1203}
  local 等级=100
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 任务id="_"..等级.."_"..取随机数(1999,11111).."_206_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..等级
  随机序列=随机序列+1
  造型="进阶鬼将"
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id=id,
    队伍组={},
    称谓="世界BOSS("..等级.."级)",
    名称="万年鬼王",
    模型=造型,
    等级=等级,
    x=xy.x,
    y=xy.y,
    行走开关=true,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=206
  }
  地图处理类:添加单位(任务id)
  广播消息({内容=format("#S(世界BOSS)#Y%s#G已经出现在#Y%s#G场景内",任务数据[任务id].名称,任务数据[任务id].地图名称),频道="xt"})
  local 地图范围={1207,1204,1231,1232}
  local 等级=150
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 任务id="_"..等级.."_"..取随机数(1999,11111).."_206_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..等级
  随机序列=随机序列+1
  造型="进阶夜罗刹"
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id=id,
    队伍组={},
    称谓="世界BOSS("..等级.."级)",
    名称="罗刹王",
    模型=造型,
    等级=等级,
    x=xy.x,
    y=xy.y,
    行走开关=true,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=206
  }
  地图处理类:添加单位(任务id)
  广播消息({内容=format("#S(世界BOSS)#Y%s#G已经出现在#Y%s#G场景内",任务数据[任务id].名称,任务数据[任务id].地图名称),频道="xt"})
end

function 任务处理类:刷出天蝎座()
  local 地图范围={1208}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_315_"..os.time().."_"..取随机数(88,99999999)
    local 造型="进阶蝎子精"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="老G很骚",
      名称="天蝎座",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=315
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","天蝎座",取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷出射手座()
  local 地图范围={1092}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_316_"..os.time().."_"..取随机数(88,99999999)
    local 造型="进阶真陀护法"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="老G很骚",
      名称="射手座",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=316
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","射手座",取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷出摩羯座()
  local 地图范围={1070}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_317_"..os.time().."_"..取随机数(88,99999999)
    local 造型="进阶龙龟"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="老G很骚",
      名称="摩羯座",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=317
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","摩羯座",取地图名称(地图)),频道="xt"})
end
function 任务处理类:攻城木桩计算3(任务id,id组)
  for n=1,#id组 do
    local id=id组[n]
    if 玩家数据[id].队长==false then
       return
    end
    if 攻城数据.攻城方[1]==nil then
       常规提示(id,"#Y/攻城战已结束")
       return
    end
    local 玩家帮派 = 玩家数据[id].角色.数据.帮派
    if 玩家帮派==攻城数据.守城方.帮派名称  then
      for n=1,#攻城数据.攻城方 do
        if 攻城数据.攻城方[n].木桩伤害 ~=0 then
           攻城数据.攻城方[n].木桩伤害=攻城数据.攻城方[n].木桩伤害-50000000
           攻城数据.守城方.抵消伤害=攻城数据.守城方.抵消伤害+50000000
          if 攻城数据.攻城方[n].木桩伤害<=0 then
             攻城数据.攻城方[n].木桩伤害=0
          end
          发送数据(玩家数据[id].连接id,124,{攻城数据=攻城数据})
          写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
          常规提示(id,"#Y/成功防御攻城方的5000W伤害，为帮派做出卓越贡献")
        end
      end
    else
      for i=1,#攻城数据.攻城方 do
        if 玩家帮派==攻城数据.攻城方[i].帮派名称 then
           攻城数据.攻城方[i].木桩伤害 = 攻城数据.攻城方[i].木桩伤害+50000000
           发送数据(玩家数据[id].连接id,124,{攻城数据=攻城数据})
           常规提示(id,"#Y/成功击败敌方的5000W伤害，为帮派做出卓越贡献")
        end
      end
      if 攻城数据.守城方.帮派名称==nil then
        for i=1,#攻城数据.攻城方 do
          if 攻城数据.攻城方[i].木桩伤害>=1000000000 then
             攻城数据.攻城方={}
             攻城数据.守城方={抵消伤害=0,守城天数=0,帮派名称=玩家帮派}
             攻城开关=false
             写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
             常规提示(id,"#Y/恭喜你攻城成功，你们帮派获得长安城的拥有权，快去领奖吧，记得还可以领称谓")
             发送公告("#G长安城被#R"..玩家帮派.."#G帮派首次攻破，#S(攻城战)#G结束，大家快去双领取奖励吧")
             return
          end
        end
      end
    end
    写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
    self:攻城战判断()
  end
end
function 任务处理类:攻城木桩计算2(任务id,id组)
  for n=1,#id组 do
    local id=id组[n]
    if 玩家数据[id].队长==false then
       return
    end
    if 攻城数据.攻城方[1]==nil then
       常规提示(id,"#Y/攻城战已结束")
       return
    end
    local 玩家帮派 = 玩家数据[id].角色.数据.帮派
    if 玩家帮派==攻城数据.守城方.帮派名称  then
      for n=1,#攻城数据.攻城方 do
        if 攻城数据.攻城方[n].木桩伤害 ~=0 then
           攻城数据.攻城方[n].木桩伤害=攻城数据.攻城方[n].木桩伤害-30000000
           攻城数据.守城方.抵消伤害=攻城数据.守城方.抵消伤害+30000000
          if 攻城数据.攻城方[n].木桩伤害<=0 then
             攻城数据.攻城方[n].木桩伤害=0
          end
          发送数据(玩家数据[id].连接id,124,{攻城数据=攻城数据})
          写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
          常规提示(id,"#Y/成功防御攻城方的3000W伤害，为帮派做出卓越贡献")
        end
      end
    else
      for i=1,#攻城数据.攻城方 do
        if 玩家帮派==攻城数据.攻城方[i].帮派名称 then
           攻城数据.攻城方[i].木桩伤害 = 攻城数据.攻城方[i].木桩伤害+30000000
           发送数据(玩家数据[id].连接id,124,{攻城数据=攻城数据})
           常规提示(id,"#Y/成功击败敌方的3000W伤害，为帮派做出卓越贡献")
        end
      end
      if 攻城数据.守城方.帮派名称==nil then
        for i=1,#攻城数据.攻城方 do
          if 攻城数据.攻城方[i].木桩伤害>=1000000000 then
             攻城数据.攻城方={}
             攻城数据.守城方={抵消伤害=0,守城天数=0,帮派名称=玩家帮派}
             攻城开关=false
             写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
             常规提示(id,"#Y/恭喜你攻城成功，你们帮派获得长安城的拥有权，快去领奖吧，记得还可以领称谓")
             发送公告("#G长安城被#R"..玩家帮派.."#G帮派首次攻破，#S(攻城战)#G结束，大家快去双领取奖励吧")
             return
          end
        end
      end
    end
    写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
    self:攻城战判断()
  end
end
function 任务处理类:攻城木桩计算1(任务id,id组)
  for n=1,#id组 do
    local id=id组[n]
    if 玩家数据[id].队长==false then
       return
    end
    if 攻城数据.攻城方[1]==nil then
       常规提示(id,"#Y/攻城战已结束")
       return
    end
    local 玩家帮派 = 玩家数据[id].角色.数据.帮派
    if 玩家帮派==攻城数据.守城方.帮派名称  then
      for n=1,#攻城数据.攻城方 do
        if 攻城数据.攻城方[n].木桩伤害 ~=0 then
           攻城数据.攻城方[n].木桩伤害=攻城数据.攻城方[n].木桩伤害-10000000
           攻城数据.守城方.抵消伤害=攻城数据.守城方.抵消伤害+10000000
          if 攻城数据.攻城方[n].木桩伤害<=0 then
             攻城数据.攻城方[n].木桩伤害=0
          end
          发送数据(玩家数据[id].连接id,124,{攻城数据=攻城数据})
          写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
          常规提示(id,"#Y/成功防御攻城方的1000W伤害，为帮派做出卓越贡献")
        end
      end
    else
      for i=1,#攻城数据.攻城方 do
        if 玩家帮派==攻城数据.攻城方[i].帮派名称 then
           攻城数据.攻城方[i].木桩伤害 = 攻城数据.攻城方[i].木桩伤害+10000000
           发送数据(玩家数据[id].连接id,124,{攻城数据=攻城数据})
        end
      end
      if 攻城数据.守城方.帮派名称==nil then
        for i=1,#攻城数据.攻城方 do
          if 攻城数据.攻城方[i].木桩伤害>=1000000000 then
             攻城数据.攻城方={}
             攻城数据.守城方={抵消伤害=0,守城天数=0,帮派名称=玩家帮派}
             攻城开关=false
             写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
             常规提示(id,"#Y/恭喜你攻城成功，你们帮派获得长安城的拥有权，快去领奖吧，记得还可以领称谓")
             发送公告("#G长安城被#R"..玩家帮派.."#G帮派首次攻破，#S(攻城战)#G结束，大家快去双领取奖励吧")
             return
          end
        end
      end
    end
    写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
    self:攻城战判断()
  end
end
function 任务处理类:攻城战判断()
  for n=1,#攻城数据.攻城方 do
    if 攻城数据.攻城方[n].木桩伤害 >=1000000000 then
       local 玩家帮派 = 攻城数据.攻城方[n].帮派名称
       攻城数据.攻城方={}
       攻城数据.守城方={抵消伤害=0,守城天数=0,帮派名称=玩家帮派}
       攻城开关=false
       地图处理类:清除地图玩家(1300,1001,412,72)
       写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
       常规提示(id,"#Y/恭喜你攻城成功，你们帮派获得长安城的拥有权，快去领奖吧，记得还可以领称谓")
       发送公告("#G长安城被#R"..玩家帮派.."#G帮派攻破，#S(攻城战)#G结束，大家快去双领取奖励吧")
    end
  end
end
function 任务处理类:攻城开启()
  攻城开关=true
  攻城数据.攻城方={}
  写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
  发送公告("#R(长安攻城战)#G已经开启，各帮派从攻城战领奖处进入攻城地图进行攻城！！")
end
function 任务处理类:攻城结束()
  攻城数据.攻城方={}
  攻城开关=false
  if 攻城数据.守城方.守城天数~=nil then
     攻城数据.守城方.守城天数=攻城数据.守城方.守城天数+1
  end
  地图处理类:清除地图玩家(1300,1001,412,72)
  写出文件([[tysj/攻城数据.txt]],table.tostring(攻城数据))
  发送公告("#R"..攻城数据.守城方.帮派名称.."#G成功守住长安城#R"..攻城数据.守城方.守城天数.."#G天，#S(攻城战)#G结束，大家快去双领取奖励吧")
end

function 任务处理类:长安城城主()
  local 地图 = 1001
  local xy={}
  xy.x={228}
  xy.y={114}
  local 任务id="_80001_"..os.time().."_"..取随机数(88,99999999)
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=99999999,
    玩家id=id,
    队伍组={},
    名称=攻城数据.守城方.长安城城主.名称,
    锦衣=攻城数据.守城方.长安城城主.锦衣,
    模型=攻城数据.守城方.长安城城主.模型,
    武器=攻城数据.守城方.长安城城主.武器,
    当前编号 = n,
    称谓="长安城城主",
    武器等级=攻城数据.守城方.长安城城主.武器等级,
    武器染色方案=攻城数据.守城方.长安城城主.染色方案,
    武器染色组=攻城数据.守城方.长安城城主.染色组,
    x=xy.x[n],
    y=xy.y[n],
    行走开关=false,
    方向=0,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=80001
  }
  地图处理类:添加单位(任务id)
end

function 任务处理类:全服功臣()
  local 地图 = 1001
  local xy={}
  xy.x={231.4,236.4,241.8,247.1,252.6}
  xy.y={127.6,125.1,122.7,120.3,118}
  for n=1,5 do
    local 任务id="_80000_"..os.time().."_"..取随机数(88,99999999)
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=99999999,
      玩家id=id,
      队伍组={},
      名称=自定义怪[n].名称,
      锦衣=自定义怪[n].锦衣,
      模型=自定义怪[n].模型,
      武器=自定义怪[n].武器,
      当前编号 = n,
      称谓="全服功臣",
      武器等级=自定义怪[n].武器等级,
      武器染色方案=自定义怪[n].染色方案,
      武器染色组=自定义怪[n].染色组,
      x=xy.x[n],
      y=xy.y[n],
      行走开关=false,
      方向=0,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=80000
    }
  地图处理类:添加单位(任务id)
  end
end
function 任务处理类:恢复经验倍数()

  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","提升经验倍数","0")
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","全服贡献物资","0")
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","未领取物资人数","5")
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","领取1","0")
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","领取2","0")
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","领取3","0")
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","领取4","0")
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","领取5","0")
  发送公告("#S(全区经验倍数)#G恢复正常，要想增加经验倍数，大家都去膜拜全服功臣吧，捐献物资越高，击败后的经验倍数越高")
end

function 任务处理类:提升经验倍数20(任务id,id组)
local 当前经验倍数=f函数.读配置(程序目录.."定制难度.ini","定制任务","提升经验倍数")+0
if 当前经验倍数< 0.2 then
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","提升经验倍数","0.2")
  常规提示(id,"#Y/恭喜你完成全服提升经验怪物的击杀，全服所有玩家经验提升20%，同时您将站在名人堂之巅，受全服人膜拜")
  发送公告("#S(全区经验倍数)#G提升20%持续到下一个20点，感谢玩家#R"..玩家数据[id组[1]].角色.数据.名称.."#G带领队员挑战成功经验掌控者")
else
  常规提示(id,"#Y/很可惜别人快你们一步完成经验掌控者的挑战")
end
end
function 任务处理类:提升经验倍数50(任务id,id组)
local 当前经验倍数=f函数.读配置(程序目录.."定制难度.ini","定制任务","提升经验倍数")+0
if 当前经验倍数< 0.5 then
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","提升经验倍数","0.5")
  常规提示(id,"#Y/恭喜你完成全服提升经验怪物的击杀，全服所有玩家经验提升50%，同时您将站在名人堂之巅，受全服人膜拜")
  发送公告("#S(全区经验倍数)#G提升50%持续到下一个20点，感谢玩家#R"..玩家数据[id组[1]].角色.数据.名称.."#G带领队员挑战成功经验掌控者")
else
  常规提示(id,"#Y/很可惜别人快你们一步完成经验掌控者的挑战")
end
end
function 任务处理类:提升经验倍数100(任务id,id组)
local 当前经验倍数=f函数.读配置(程序目录.."定制难度.ini","定制任务","提升经验倍数")+0
if 当前经验倍数 < 1 then
  f函数.写配置(程序目录..[[定制难度.ini]],"定制任务","提升经验倍数","1")
  常规提示(id,"#Y/恭喜你完成全服提升经验怪物的击杀，全服所有玩家经验提升100%，同时您将站在名人堂之巅，受全服人膜拜")
  发送公告("#S(全区经验倍数)#G提升100%持续到下一个20点，感谢玩家#R"..玩家数据[id组[1]].角色.数据.名称.."#G带领队员挑战成功经验掌控者")
else
  常规提示(id,"#Y/很可惜别人快你们一步完成经验掌控者的挑战")
end
end
function 任务处理类:单人闯关(任务id,id组)

  for n=1,#id组 do
    local id=id组[n]
    if 玩家数据[id].角色.数据.单人闯关==nil then
       玩家数据[id].角色.数据.单人闯关=0
    end
    玩家数据[id].角色.数据.单人闯关=玩家数据[id].角色.数据.单人闯关+1
    玩家数据[id].角色:刷新信息()
    常规提示(id,"#Y/恭喜你完成单人闯关，气血 命中 伤害 灵力 防御 速度各提升5点")
  end
end
function 任务处理类:初级经验挂机(任务id,id组)
  local 经验=50000
  local 银子=20000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=40000
            银子=16000
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=60000
            银子=24000
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"初级经验挂机",1)
      玩家数据[id].角色:添加银子(银子,"初级经验挂机",1)
      --广播消息({内容=format("#S(初级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础经验#R100W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*1.8),id,"初级经验挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=1 then
        玩家数据[id].角色:添加元宝(1,"初级经验挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(初级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:低级经验挂机(任务id,id组)
  local 经验=6000
  local 银子=3000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=5000
            银子=2400
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=7200
            银子=3600
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"低级经验挂机",1)
      玩家数据[id].角色:添加银子(银子,"低级经验挂机",1)
      --广播消息({内容=format("#S(低级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础经验#R200W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"低级经验挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=2 then
        玩家数据[id].角色:添加元宝(1,"低级经验挂机",1)
        常规提示(id,"#Y/你获得了1-")
        广播消息({内容=format("#S(低级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:中级经验挂机(任务id,id组)
  local 经验=10000
  local 银子=5000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=8000
            银子=4000
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=12000
            银子=6000
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"中级经验挂机",1)
      玩家数据[id].角色:添加银子(银子,"中级经验挂机",1)
      --广播消息({内容=format("#S(中级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础经验#R300W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"中级经验挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=3 then
        玩家数据[id].角色:添加元宝(1,"中级经验挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(中级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:高级经验挂机(任务id,id组)
  local 经验=15000
  local 银子=5000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=12000
            银子=4000
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=18000
            银子=6000
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"高级经验挂机",1)
      玩家数据[id].角色:添加银子(银子,"高级经验挂机",1)
      --广播消息({内容=format("#S(高级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础经验#R400W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"高级经验挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=4 then
        玩家数据[id].角色:添加元宝(1,"高级经验挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(高级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:超级经验挂机(任务id,id组)
  local 经验=20000
  local 银子=10000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=16000
            银子=8000
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=24000
            银子=12000
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"超级经验挂机",1)
      玩家数据[id].角色:添加银子(银子,"超级经验挂机",1)
      --广播消息({内容=format("#S(超级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础经验#R500W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"超级经验挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=5 then
        玩家数据[id].角色:添加元宝(1,"超级经验挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(超级经验挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:初级银币挂机(任务id,id组)
  local 经验=1000
  local 银子=10000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=800
            银子=8000
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=1200
            银子=12000
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"初级银币挂机",1)
      玩家数据[id].角色:添加银子(银子,"初级银币挂机",1)
      --广播消息({内容=format("#S(初级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础银币#R100W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"初级银币挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=1 then
        玩家数据[id].角色:添加元宝(1,"初级银币挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(初级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:低级银币挂机(任务id,id组)
  local 经验=1000
  local 银子=15000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=1200
            银子=18000
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=5000
            银子=6000
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"低级银币挂机",1)
      玩家数据[id].角色:添加银子(银子,"低级银币挂机",1)
      --广播消息({内容=format("#S(低级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础银币#R150W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"低级银币挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=2 then
        玩家数据[id].角色:添加元宝(1,"低级银币挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(低级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:中级银币挂机(任务id,id组)
  local 经验=1000
  local 银子=20000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=1200
            银子=24000
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=5000
            银子=10000
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"中级银币挂机",1)
      玩家数据[id].角色:添加银子(银子,"中级银币挂机",1)
      --广播消息({内容=format("#S(中级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础银币#R200W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"中级银币挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=3 then
        玩家数据[id].角色:添加元宝(1,"中级银币挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(中级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:高级银币挂机(任务id,id组)
  local 经验=10000
  local 银子=25000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=1200
            银子=30000
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=5000
            银子=12500
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"高级银币挂机",1)
      玩家数据[id].角色:添加银子(银子,"高级银币挂机",1)
      --广播消息({内容=format("#S(高级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础银币#R250W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"高级银币挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=4 then
        玩家数据[id].角色:添加元宝(1,"高级银币挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(高级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:超级银币挂机(任务id,id组)
  local 经验=1000
  local 银子=3000
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=1200
            银子=3600
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=5000
            银子=15000
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"超级银币挂机",1)
      玩家数据[id].角色:添加银子(银子,"超级银币挂机",1)
      --广播消息({内容=format("#S(超级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得基础银币#R300W"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"超级银币挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=5 then
        玩家数据[id].角色:添加元宝(1,"超级银币挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(超级银币挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:初级活跃挂机(任务id,id组)
  local 经验=1000
  local 银子=5000
  local 活跃度=1
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         活跃度=活跃度*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            活跃度=活跃度*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=12000
            银子=6000
            活跃度=1.2
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=5000
            银子=25000
            local 活跃度=1
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"初级活跃挂机",1)
      玩家数据[id].角色:添加银子(银子,"初级活跃挂机",1)
      玩家数据[id].角色:添加活跃度(活跃度,"初级活跃挂机",1)
      --广播消息({内容=format("#S(初级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得活跃#R1点"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"初级活跃挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=1 then
        玩家数据[id].角色:添加元宝(1,"初级活跃挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(初级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:低级活跃挂机(任务id,id组)
  local 经验=1000
  local 银子=5000
  local 活跃度=2
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         活跃度=活跃度*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            活跃度=活跃度*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=1200
            银子=6000
            活跃度=2.4
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=5000
            银子=2500
            活跃度=10
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"低级活跃挂机",1)
      玩家数据[id].角色:添加银子(银子,"低级活跃挂机",1)
      玩家数据[id].角色:添加活跃度(活跃度,"低级活跃挂机",1)
      --广播消息({内容=format("#S(低级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得活跃#R2点"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"低级活跃挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=2 then
        玩家数据[id].角色:添加元宝(1,"低级活跃挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(低级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:中级活跃挂机(任务id,id组)
  local 经验=1000
  local 银子=5000
  local 活跃度=3
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         活跃度=活跃度*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            活跃度=活跃度*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=12000
            银子=6000
            活跃度=3.6
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=5000
            银子=2500
            活跃度=15
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"中级活跃挂机",1)
      玩家数据[id].角色:添加银子(银子,"中级活跃挂机",1)
      玩家数据[id].角色:添加活跃度(活跃度,"中级活跃挂机",1)
      --广播消息({内容=format("#S(中级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得活跃#R3点"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"中级活跃挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=3 then
        玩家数据[id].角色:添加元宝(1,"中级活跃挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(中级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:高级活跃挂机(任务id,id组)
  local 经验=10000
  local 银子=5000
  local 活跃度=4
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         活跃度=活跃度*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            活跃度=活跃度*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=12000
            银子=6000
            活跃度=4.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=50000
            银子=2500
            活跃度=20
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"高级活跃挂机",1)
      玩家数据[id].角色:添加银子(银子,"高级活跃挂机",1)
      玩家数据[id].角色:添加活跃度(活跃度,"高级活跃挂机",1)
      --广播消息({内容=format("#S(高级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得活跃#R4点"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"高级活跃挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=4 then
        玩家数据[id].角色:添加元宝(1,"高级活跃挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(高级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:超级活跃挂机(任务id,id组)
  local 经验=10000
  local 银子=5000
  local 活跃度=5
  for n=1,#id组 do
    local id=id组[n]
    --玩家数据[id].战斗==0
    玩家数据[id].角色.数据.自动遇怪时间=os.time()
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      if 玩家数据[id].角色.数据.地图数据.编号==1001 and 攻城数据.守城方.帮派名称==nil then
         经验=经验*0.8
         银子=银子*0.8
         活跃度=活跃度*0.8
         常规提示(id,"#Y长安城现在属于无帮派占领状态，你的经验和银币获取减少20%，挂机请远离长安城")
      end
      if 玩家数据[id].角色.数据.地图数据.编号==1001 then
        if 攻城数据.守城方.帮派名称~=nil then
          if 玩家数据[id].角色.数据.帮派~=攻城数据.守城方.帮派名称 then
            经验=经验*0.8
            银子=银子*0.8
            活跃度=活跃度*0.8
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的经验和银币获取减少20%，挂机请远离长安城")
          else
            经验=1200
            银子=6000
            活跃度=6
            常规提示(id,"#Y长安城现在属于("..攻城数据.守城方.帮派名称..")帮派占领，你的帮派属于此帮派，收益提升20%")
          end
        end
      end
      for v=1,#玩家数据[id].召唤兽.数据 do
        if 玩家数据[id].召唤兽.数据[v].参战信息==1  then
          if 玩家数据[id].召唤兽.数据[v].名称=="夏日超甜" and 玩家数据[id].召唤兽.数据[v].潜力<5 and 玩家数据[id].召唤兽.数据[v].潜力>0 then
            经验=5000
            银子=2500
            活跃度=25
          end
        end
      end
      玩家数据[id].角色:添加经验(经验,"超级活跃挂机",1)
      玩家数据[id].角色:添加银子(银子,"超级活跃挂机",1)
      玩家数据[id].角色:添加活跃度(活跃度,"超级活跃挂机",1)
      --广播消息({内容=format("#S(超级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得活跃#R5点"),频道="xt"})
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"超级活跃挂机")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=4 then
        玩家数据[id].角色:添加元宝(1,"超级活跃挂机",1)
        常规提示(id,"#Y/你获得了1元宝")
        广播消息({内容=format("#S(超级活跃挂机)#G过程中，玩家#R"..玩家数据[id].角色.数据.名称.."#G获得1元宝"),频道="xt"})
      end
    end
  end
end
function 任务处理类:完成天蝎座(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=150000
  local 银子=80000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"天蝎座",1)
      玩家数据[id].角色:添加银子(银子,"天蝎座",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*1.8),id,"天蝎座")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=10 then
        local 名称="金柳露"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天蝎座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=15 then
        local 名称="魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天蝎座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=25 then
        local 名称=玩家数据[id].道具:取五宝()
        玩家数据[id].道具:给予道具(id,名称)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天蝎座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{10,13})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天蝎座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
    elseif 奖励参数 <= 35 then
        礼包奖励类:随机装备(id,80,"无级别限制")
        local 名称="80级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天蝎座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=37 then
        local 名称="附魔宝珠"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天蝎座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=55 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,10})
        local 名称=奖励数据[1]
        常规提示(id,"#Y你得到了#R"..名称)
        广播消息({内容=format("#S(天蝎座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成射手座(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=150000
  local 银子=80000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"射手座",1)
      玩家数据[id].角色:添加银子(银子,"射手座",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"射手座")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=10 then
        local 名称="金柳露"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(射手座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=15 then
        local 名称="魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(射手座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=25 then
        local 名称=玩家数据[id].道具:取五宝()
        玩家数据[id].道具:给予道具(id,名称)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(射手座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,13})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(射手座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=35 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(射手座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=55 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{16,12})
        local 名称=奖励数据[1]
        常规提示(id,"#Y你得到了#R"..名称)
        广播消息({内容=format("#S(射手座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
       end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成摩羯座(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=150000
  local 银子=80000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"摩羯座",1)
      玩家数据[id].角色:添加银子(银子,"摩羯座",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"摩羯座")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=10 then
        local 名称="金柳露"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(摩羯座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=15 then
        local 名称="魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(摩羯座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=20 then
        local 名称="超级金柳露"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(摩羯座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=25 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(摩羯座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称=玩家数据[id].道具:取五宝()
        玩家数据[id].道具:给予道具(id,名称)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(摩羯座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
       elseif 奖励参数<=40 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(摩羯座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=45 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,10})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(摩羯座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=50 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,12})
        local 名称=奖励数据[1]
        常规提示(id,"#Y你得到了#R"..名称)
        广播消息({内容=format("#S(摩羯座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
       elseif 奖励参数 <= 55 then
        礼包奖励类:随机装备(id,100,"无级别限制")
        local 名称="100级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(摩羯座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:刷出新服福利BOSS()
  local 地图范围={1501,1092,1208}
  local 刷新地图={}
  for n=1,#地图范围 do
    local 地图=地图范围[n]
    for i=1,3 do
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 任务id="_318_"..os.time().."_"..取随机数(88,99999999)
      local 造型="超级玉兔"
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=1200,
        玩家id=id,
        队伍组={},
        称谓="必掉元宝",
        名称="新服福利BOSS",
        模型=造型,
        行走开关=true,
        x=xy.x,
        y=xy.y,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=318
      }
      地图处理类:添加单位(任务id)
    end
    刷新地图[#刷新地图+1] = 取地图名称(地图)
  end
  广播消息({内容=format("#R福利时间到，一波福利怪#Y%s#G已经出现在#Y%s、%s、%s、%s#G场景内","新服福利BOSS",刷新地图[1],刷新地图[2],刷新地图[3],刷新地图[4]),频道="xt"})
end

function 任务处理类:完成新服福利BOSS(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 经验=100000
      local 储备=150000
      玩家数据[id].角色:添加经验(经验,"新服福利BOSS",1)
      玩家数据[id].角色:添加储备(储备,"新服福利BOSS",1)
      新手活动[id].次数=新手活动[id].次数+1
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"新服福利BOSS")
      end
      玩家数据[id].角色:添加元宝(1,"新服福利BOSS",1)
      常规提示(id,"#Y/你获得了1元宝")
      广播消息({内容=format("#S(新服福利BOSS)#Y/经过一番激烈的战斗，玩家：#R"..玩家数据[id].角色.数据.名称.."#Y获得了#R1元宝")})
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:刷出帮派护法(id)
  local 地图范围={6010,6011,6012,6013,6014,6015,6016,6017,6018,6019}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 地图 = 地图范围[i]
    x待发送数据[地图]={}
    local 任务id="319"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    随机序列=随机序列+1
    local 造型=Q_随机模型[取随机数(1,#Q_随机模型)]
    local 武器造型=取高级地煞星武器造型(造型)
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=7200,
      玩家id=id,
      队伍组={},
      名称="帮派护法",
      模型=造型,
      武器=武器造型.武器,
      武器等级=武器造型.级别,
      行走开关=true,
      所在分组=i,
      x=123,
      y=15,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=319
    }
    table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
  end
  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据=nil
end

function 任务处理类:设置帮派障碍怪(地图)
  local x待发送数据 = {}
  local 临时数量=取随机数(50,50)
  x待发送数据[地图]={}
  for n=1,临时数量 do
    local 任务id=地图.."_320_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
    随机序列=随机序列+1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 模型范围={"凤凰","芙蓉仙子","巡游天神","白熊","古代瑞兽","炎魔神","净瓶女娲","幽灵","灵符女娲","吸血鬼","鬼将","灵鹤"}
    local 模型=模型范围[取随机数(1,#模型范围)]
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=300,
      玩家id=0,
      队伍组={},
      名称="帮派守卫",
      模型=模型,
      等级=取随机数(1,140),
      x=xy.x,
      y=xy.y,
      事件="明雷",
      行走开关=true,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=320
    }
    if 地图==6010 then
      任务数据[任务id].所在分组=1
    elseif 地图==6011 then
      任务数据[任务id].所在分组=2
    elseif 地图==6012 then
      任务数据[任务id].所在分组=3
    elseif 地图==6013 then
      任务数据[任务id].所在分组=4
    elseif 地图==6014 then
      任务数据[任务id].所在分组=5
    elseif 地图==6015 then
      任务数据[任务id].所在分组=6
    elseif 地图==6016 then
      任务数据[任务id].所在分组=7
    elseif 地图==6017 then
      任务数据[任务id].所在分组=8
    elseif 地图==6018 then
      任务数据[任务id].所在分组=9
    elseif 地图==6019 then
      任务数据[任务id].所在分组=10
    end
    table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
  end
  for n, v in pairs(地图处理类.地图玩家[地图]) do
    if 地图处理类:取同一地图(地图,id,n,1)  then
      发送数据(玩家数据[n].连接id,1021,x待发送数据[地图])
    end
  end
  x待发送数据=nil
end

function 任务处理类:刷新帮战宝箱(地图)
  local 人数=地图处理类:取地图人数(地图)
  人数=人数/2
  if 人数<=1 then
    人数=1
  end
  local 小宝箱=人数
  local 大宝箱=人数
  for n=1,小宝箱 do
    local 任务id="_"..n.."_"..取随机数(1999,11111).."_321_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..(地图+n)
    随机序列=随机序列+1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=600,
      玩家id=id,
      队伍组={},
      名称="小宝箱",
      模型="宝箱",
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=321
    }
    地图处理类:添加单位(任务id)
  end
  for n=1,大宝箱 do
    local 任务id="_"..n.."_"..取随机数(1999,11111).."_322_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..(地图+n)
    随机序列=随机序列+1
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=600,
      玩家id=id,
      队伍组={},
      名称="大宝箱",
      模型="宝箱",
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=322
    }
    地图处理类:添加单位(任务id)
  end
  地图处理类:当前消息广播1(地图,format("#G一道金光闪过，#R%s#G个小宝箱和#R%s#G个大宝箱散落在场景内的各个角落。宝箱将在10分钟后自动消失，请赶快寻找哟。",小宝箱,大宝箱))
end

function 任务处理类:刷出水瓶座()
  local 地图范围={1501}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_323_"..os.time().."_"..取随机数(88,99999999)
    local 造型="净瓶女娲"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="老G很骚",
      名称="水瓶座",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=323
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","水瓶座",取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷出白羊座()
  local 地图范围={1040}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_324_"..os.time().."_"..取随机数(88,99999999)
    local 造型="超级神羊"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="老G很骚",
      名称="白羊座",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=324
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","白羊座",取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷出金牛座()
  local 地图范围={1142}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_325_"..os.time().."_"..取随机数(88,99999999)
    local 造型="踏云兽"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="老G很骚",
      名称="金牛座",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=325
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","金牛座",取地图名称(地图)),频道="xt"})
end

function 任务处理类:完成水瓶座(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=10000
  local 银子=1000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"水瓶座",1)
      玩家数据[id].角色:添加银子(银子,"水瓶座",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"水瓶座")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=10 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,取随机数(20,50))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(水瓶座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=20 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(水瓶座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,5))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(水瓶座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=35 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{10,13})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(水瓶座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=40 then
        local 名称="星辉石"
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,3))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(水瓶座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成白羊座(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=10000
  local 银子=1000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"白羊座",1)
      玩家数据[id].角色:添加银子(银子,"白羊座",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"白羊座")
      end
      local 奖励参数=取随机数()
      if 奖励参数<=10 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,取随机数(20,50))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(白羊座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=20 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(白羊座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,5))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(白羊座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=35 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{10,13})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(白羊座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=40 then
        local 名称="星辉石"
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,3))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(白羊座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成金牛座(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=10000
  local 银子=1000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"金牛座",1)
      玩家数据[id].角色:添加银子(银子,"金牛座",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"金牛座")
      end
      local 奖励参数=取随机数(1,1000)
      if 奖励参数<=100 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,取随机数(20,50))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(金牛座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=150 then
        local 名称="魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(金牛座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=200 then
        local 名称="超级金柳露"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(金牛座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=300 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(金牛座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=350 then
        local 名称=玩家数据[id].道具:取五宝()
        玩家数据[id].道具:给予道具(id,名称)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(金牛座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=400 then
        local 名称="炼妖石"
        玩家数据[id].道具:给予道具(id,名称,{75,85,95,105,115})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(金牛座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=450 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{10,13})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(金牛座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=500 then
        local 名称="上古锻造图策"
        玩家数据[id].道具:给予道具(id,名称,{75,85,95,105,115})
        常规提示(id,"#Y你得到了#R"..名称)
        广播消息({内容=format("#S(金牛座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数 <= 550 then
        礼包奖励类:随机装备(id,100,"无级别限制")
        local 名称="100级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(金牛座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:开启车迟副本(id)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
    常规提示(id,"#Y/该任务必须组队完成且由队长领取")
    return
  elseif 取队伍人数(id)<1 then
    常规提示(id,"#Y此副本要求队伍人数不低于5人")
    return
  elseif  取等级要求(id,60)==false then
    常规提示(id,"#Y此副本要求角色等级不能低于60级")
    return
  end
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    if 副本数据.车迟斗法.完成[临时id]~=nil then
      常规提示(id,"#Y"..玩家数据[临时id].角色.数据.名称.."本日已经完成过此副本了")
      return
    elseif 玩家数据[临时id].角色:取任务(130)~=0 then
      常规提示(id,"#Y"..玩家数据[临时id].角色.数据.名称.."正在进行副本任务，无法领取新的副本")
      return
    end
  end
  local 任务id=id.."_130_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=7200,
    玩家id={},
    队伍组={},
    副本id=id,
    道观建设=0,
    类型=130,
    建设要求=0
  }
  副本数据.车迟斗法.进行[id]={进程=1}
  副本数据.车迟斗法.进行[id].副本任务id = 任务id
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      任务数据[任务id].建设要求 = 任务数据[任务id].建设要求 + 120
      任务数据[任务id].队伍组[#任务数据[任务id].队伍组+1]=队伍数据[队伍id].成员数据[n]
    end
  end
  self:设置车迟斗法副本(id)
  for n=1,#队伍数据[队伍id].成员数据 do
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 临时id=队伍数据[队伍id].成员数据[n]
      玩家数据[临时id].角色:添加任务(任务id)
      常规提示(临时id,"#Y你开启了车迟斗法副本")
    end
  end
end

function 任务处理类:设置车迟斗法副本(id,副本任务id)
  if 副本数据.车迟斗法.进行[id]==nil then
    return
  end
  if 副本数据.车迟斗法.进行[id].副本任务id==nil then
      常规提示(id,"#Y副本任务失败！")
      return
  end
  local fbid = 副本数据.车迟斗法.进行[id].副本任务id
  local 数量=15
  local 随机名称={}
  local 随机模型={}
  if 副本数据.车迟斗法.进行[id].进程==1 then
    副本数据.车迟斗法.进行[id].数量=(任务数据[副本数据.车迟斗法.进行[id].副本任务id].建设要求)/8
    副本数据.车迟斗法.进行[id].道观建设=0
    数量 = 副本数据.车迟斗法.进行[id].数量
    for n=1,数量 do
      local 任务id=id.."_131_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..n
      local 地图=6021
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称="有个道士",
        模型="男人_道士",
        x=xy.x,
        y=xy.y,
        行走开关=true,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=131,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.车迟斗法.进行[id].进程==2 then
    local 任务id=id.."_132_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"
    local 地图=6021
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=7200,
      玩家id={},
      队伍组=任务数据[fbid].队伍组,
      名称="有个和尚",
      模型="和尚2",
      x=49,
      y=111,
      副本id=id,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=132,
      真实副本id = fbid
    }
    地图处理类:添加单位(任务id)
  elseif 副本数据.车迟斗法.进行[id].进程==3 then
    副本数据.车迟斗法.进行[id].数量=15
    随机名称={"贡品包子","贡品苹果","贡品桃子","贡品寿桃","贡品香梨","贡品香蕉","贡品烧饼"}
    for n=1,15 do
      local 任务id=id.."_133_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..n
      local 地图=6021
      local xy=地图处理类.地图坐标[6021]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称=随机名称[取随机数(1,#随机名称)],
        模型="泡泡",
        x=xy.x,
        y=xy.y,
        行走开关=true,
        副本id=id,
        地图编号=6021,
        地图名称=取地图名称(6021),
        类型=133,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.车迟斗法.进行[id].进程==4 then
    随机名称={"道德天尊","元始天尊","灵宝天尊"}
    副本数据.车迟斗法.进行[id].序列={false,false,false}
    for n=1,3 do
      local 任务id=id.."_134_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..n
      local 地图=6022
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称=随机名称[n],
        模型="大力金刚",
        变异=true,
        x=xy.x,
        y=xy.y,
        行走开关=true,
        副本id=id,
        序列=n,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=134,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.车迟斗法.进行[id].进程==5 then
    local 任务id=id.."_135_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"
    local 地图=6022
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=7200,
      玩家id={},
      队伍组=任务数据[fbid].队伍组,
      名称="有个和尚",
      模型="和尚2",
      x=22,
      y=40,
      副本id=id,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=135,
      真实副本id = fbid
    }
    地图处理类:添加单位(任务id)
  elseif  副本数据.车迟斗法.进行[id].进程==6 then
    local 任务id=id.."_136_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"
    local 地图=6023
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=7200,
      玩家id={},
      队伍组=任务数据[fbid].队伍组,
      名称="有个神仙",
      模型="和尚2",
      x=16,
      y=145,
      副本id=id,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=136,
      真实副本id = fbid
    }
    地图处理类:添加单位(任务id)
  elseif  副本数据.车迟斗法.进行[id].进程==7 then
    if 取随机数()<=100 then
      随机名称={"雷公","电母","雨师"}
      随机模型={"雷鸟人","星灵仙子","雨师"}
      副本数据.车迟斗法.进行[id].序列={false,false,false}
      for i=1,3 do
          local 任务id=id.."_137_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..i
          local 地图=6023
          local xy=地图处理类.地图坐标[地图]:取随机点()
          任务数据[任务id]={
          id=任务id,
          起始=os.time(),
          结束=7200,
          玩家id={},
          队伍组=任务数据[fbid].队伍组,
          名称=随机名称[i],
          模型=随机模型[i],
          变异=true,
          x=xy.x,
          y=xy.y,
          序列=i,
          行走开关=true,
          副本id=id,
          地图编号=地图,
          地图名称=取地图名称(地图),
          类型=137,
          真实副本id = fbid
        }
        地图处理类:添加单位(任务id)
      end
    else
      随机名称={"你不动","你不动","我不动"}
      副本数据.车迟斗法.进行[id].不动=true
      副本数据.车迟斗法.进行[id].序列={false,false,false}
      for i=1,3 do
        local 任务id=id.."_138_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..i
        local 地图=6023
        local xy=地图处理类.地图坐标[地图]:取随机点()
        任务数据[任务id]={
          id=任务id,
          起始=os.time(),
          结束=7200,
          玩家id={},
          队伍组=任务数据[fbid].队伍组,
          名称=随机名称[i],
          模型="净瓶女娲",
          变异=true,
          x=xy.x,
          y=xy.y,
          序列=i,
          行走开关=true,
          副本id=id,
          地图编号=地图,
          地图名称=取地图名称(地图),
          类型=138,
          真实副本id = fbid
        }
        地图处理类:添加单位(任务id)
      end
    end
  elseif  副本数据.车迟斗法.进行[id].进程==8 then
    local 任务id=id.."_139_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"
    local 地图=6023
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=7200,
      玩家id={},
      队伍组=任务数据[fbid].队伍组,
      名称="电母",
      模型="星灵仙子",
      变异=true,
      x=xy.x,
      y=xy.y,
      行走开关=true,
      副本id=id,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=139,
      真实副本id = fbid
    }
    地图处理类:添加单位(任务id)
  elseif  副本数据.车迟斗法.进行[id].进程==9 then
    local 任务id=id.."_140_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"
    local 地图=6023
    local xy=地图处理类.地图坐标[地图]:取随机点()
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=7200,
      玩家id={},
      队伍组=任务数据[fbid].队伍组,
      名称="齐天大圣",
      模型="孙悟空",
      变异=true,
      x=xy.x,
      y=xy.y,
      行走开关=true,
      副本id=id,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=140,
      真实副本id = fbid
    }
    地图处理类:添加单位(任务id)
  elseif 副本数据.车迟斗法.进行[id].进程==10 then
    随机名称={"羊力","鹿力","虎力"}
    随机模型={"炎魔神","吸血鬼","噬天虎"}
    for i=1,3 do
        local 任务id=id.."_141_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"..i
        local 地图=6023
        local xy=地图处理类.地图坐标[地图]:取随机点()
        任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称=随机名称[i],
        模型=随机模型[i],
        变异=true,
        x=xy.x,
        y=xy.y,
        序列=i,
        行走开关=true,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=141,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
    if 取随机数()<=33 then
      副本数据.车迟斗法.进行[id].真假={true,false,false}
    elseif 取随机数()<=66 then
      副本数据.车迟斗法.进行[id].真假={false,true,false}
    else
      副本数据.车迟斗法.进行[id].真假={false,false,true}
    end
  elseif 副本数据.车迟斗法.进行[id].进程==11 then
    local 宝箱数量 = 0
    for i,v in pairs(地图处理类.地图玩家[6023]) do
      if 玩家数据[i].角色:取任务(130)~=0 and 玩家数据[i].角色:取任务(130) == 副本任务id then
        local 任务id=i.."_142_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"
        local 地图=6023
        local xy=地图处理类.地图坐标[地图]:取随机点()
        任务数据[任务id]={
          id=任务id,
          起始=os.time(),
          结束=7200,
          玩家id={},
          队伍组=任务数据[fbid].队伍组,
          名称=玩家数据[i].角色.数据.名称.."的宝箱",
          模型="宝箱",
          x=xy.x,
          y=xy.y,
          副本id=id,
          绑定id=i,
          地图编号=地图,
          地图名称=取地图名称(地图),
          类型=142,
          真实副本id = fbid,
          副本任务id=副本任务id
        }
        宝箱数量 = 宝箱数量 + 1
        地图处理类:添加单位(任务id)
      end
    end
    副本数据.车迟斗法.进行[id].宝箱数量 = 宝箱数量
  elseif 副本数据.车迟斗法.进行[id].进程==12 then
    for i=1,10 do
      local 任务id=id.."_143_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_1_"
      local 地图=6023
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id={},
        队伍组=任务数据[fbid].队伍组,
        名称="小宝箱",
        模型="宝箱",
        变异=true,
        x=xy.x,
        y=xy.y,
        序列=i,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=143,
        真实副本id = fbid
      }
      地图处理类:添加单位(任务id)
    end
    任务数据[副本任务id].起始=os.time()
    任务数据[副本任务id].结束 = 600
    地图处理类:当前消息广播2(6023,format("#G副本将于10分钟后正式结束,请及时找寻小宝箱哟！！！"),副本任务id)
  end
end

function 任务处理类:刷新三界魔尊(id)
  local 地图范围={1174,1177,1186}
  local 等级=60
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 任务id="_"..等级.."_"..取随机数(1999,11111).."_333_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..等级
  随机序列=随机序列+1
  local 造型="蚩尤"
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id=id,
    队伍组={},
    称谓="一阶蚩尤元神",
    名称="蚩尤元神",
    模型=造型,
    等级=等级,
    行走开关=true,
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=333
  }

  地图处理类:添加单位(任务id)
  广播消息({内容=format("#G妖门大开，魔王现世。#Y%s#G突破封印已经出现在#Y%s#G场景内",任务数据[任务id].名称,任务数据[任务id].地图名称),频道="xt"})
  local 地图范围={1202,1201,1203}
  local 等级=100
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 任务id="_"..等级.."_"..取随机数(1999,11111).."_333_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..等级
  随机序列=随机序列+1
  造型="蚩尤"
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id=id,
    队伍组={},
    称谓="二阶蚩尤元神",
    名称="蚩尤元神",
    模型=造型,
    等级=等级,
    x=xy.x,
    y=xy.y,
    行走开关=true,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=333
  }
  地图处理类:添加单位(任务id)
  广播消息({内容=format("#G妖门大开，魔王现世。#Y%s#G突破封印已经出现在#Y%s#G场景内",任务数据[任务id].名称,任务数据[任务id].地图名称),频道="xt"})
  local 地图范围={1207,1204,1231,1232}
  local 等级=150
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 任务id="_"..等级.."_"..取随机数(1999,11111).."_333_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..等级
  随机序列=随机序列+1
  造型="蚩尤"
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id=id,
    队伍组={},
    称谓="三阶蚩尤元神",
    名称="蚩尤元神",
    模型=造型,
    等级=等级,
    x=xy.x,
    y=xy.y,
    行走开关=true,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=333
  }
  地图处理类:添加单位(任务id)
  广播消息({内容=format("#G妖门大开，魔王现世。#Y%s#G突破封印已经出现在#Y%s#G场景内",任务数据[任务id].名称,任务数据[任务id].地图名称),频道="xt"})
end

function 任务处理类:完成三界魔尊(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 等级=任务数据[任务id].等级
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      local 经验=平均等级*平均等级*20 + 500000
      local 银子=平均等级*1000+20000
      if 等级==100 then
        经验=平均等级*平均等级*30 + 600000
      elseif 等级==150 then
        经验=平均等级*平均等级*40 + 1000000
      end
      玩家数据[id].角色:添加经验(经验,"三界魔尊",1)
      玩家数据[id].角色:添加银子(银子,"三界魔尊",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"三界魔尊")
      end
      local 奖励参数=取随机数(1,100)
      if 等级==60 then
        if 奖励参数<=30 then
          local 名称="九转金丹"
          玩家数据[id].道具:给予道具(id,名称,1,100)
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=40 then
          local 名称="制造指南书"
          玩家数据[id].道具:给予书铁(id,{8,12},"指南书")
          常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=50 then
          local 名称="修炼果"
          玩家数据[id].道具:给予道具(id,名称,1)
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=60 then
          local 奖励数据=玩家数据[id].道具:给予书铁(id,{6,8})
          常规提示(id,"#Y你得到了#R"..奖励数据[1])
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,奖励数据[1]),频道="xt"})
        elseif 奖励参数<=70 then
          local 名称="星辉石"
          玩家数据[id].道具:给予道具(id,名称,取随机数(3,5))
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=80 then
          local 名称="神兜兜"
          玩家数据[id].道具:给予道具(id,名称,1)
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=84 then
         礼包奖励类:随机装备(id,90,"无级别限制")
        local 名称="90级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        else
          local 名称=取宝石()
          玩家数据[id].道具:给予道具(id,名称,取随机数(5,8))
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        end
      elseif 等级==100 then
        if 奖励参数<=10 then
          local 名称="制造指南书"
          玩家数据[id].道具:给予书铁(id,{10,14},"指南书")
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=30 then
          local 名称="九转金丹"
          玩家数据[id].道具:给予道具(id,名称,1,150)
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=40 then
          local 名称="高级召唤兽内丹"
          玩家数据[id].道具:给予道具(id,名称,1)
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=60 then
          local 名称="灵饰指南书"
          玩家数据[id].道具:给予道具(id,"灵饰指南书",{10,12,14})
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})

        elseif 奖励参数<=60 then
          local 奖励数据=玩家数据[id].道具:给予书铁(id,{8,10,12,14})
          常规提示(id,"#Y你得到了#R"..奖励数据[1])
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,奖励数据[1]),频道="xt"})
        elseif 奖励参数<=82 then
          local 名称="高级魔兽要诀"
          local 技能=取特殊要诀()
          玩家数据[id].道具:给予道具(id,名称,nil,技能)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,技能),频道="xt"})
        elseif 奖励参数<=84 then
          礼包奖励类:随机装备(id,120,"无级别限制")
        local 名称="120级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        else
          local 名称=取宝石()
          玩家数据[id].道具:给予道具(id,名称,取随机数(5,8))
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        end
      elseif 等级==150 then
        if 奖励参数<=10 then
          local 名称=取宝石()
          玩家数据[id].道具:给予道具(id,名称,取随机数(5,8))
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=30 then
          local 奖励数据=玩家数据[id].道具:给予书铁(id,{12,14,16})
          常规提示(id,"#Y你得到了#R"..奖励数据[1])
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,奖励数据[1]),频道="xt"})
        elseif 奖励参数<=40 then
        local 名称="制造指南书"
          玩家数据[id].道具:给予书铁(id,{12,16},"指南书")
          常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔域魔兵)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得督军魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})

        elseif 奖励参数<=60 then
          local 名称="三级未激活符石"
          玩家数据[id].道具:给予道具(id,名称,1)
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=70 then
          local 名称="制造指南书"
          玩家数据[id].道具:给予书铁(id,{12,14,16},"指南书")
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=75 then
          local 名称="灵饰指南书"
          玩家数据[id].道具:给予道具(id,"灵饰指南书",{12,14,16})
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=80 then
          local 名称="元灵晶石"
          玩家数据[id].道具:给予道具(id,"元灵晶石",{12,14,16})
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        elseif 奖励参数<=82 then
          local 名称="高级魔兽要诀"
          local 技能=取特殊要诀()
          玩家数据[id].道具:给予道具(id,名称,nil,技能)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,技能),频道="xt"})
        elseif 奖励参数<=84 then
          礼包奖励类:随机装备(id,140,"无级别限制")
        local 名称="140级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        else
          local 名称="星辉石"
          玩家数据[id].道具:给予道具(id,名称,5)
          常规提示(id,"#Y/你获得了"..名称)
          广播消息({内容=format("#S(三界魔尊)#R/%s#Y经过一番激烈的战斗，最终战胜了#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
        end
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:刷出狮子座()
  local 地图范围={1198}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_334_"..os.time().."_"..取随机数(88,99999999)
    local 造型="古代瑞兽"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="老G很骚",
      名称="狮子座",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=334
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","狮子座",取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷出处女座()
  local 地图范围={1002}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_335_"..os.time().."_"..取随机数(88,99999999)
    local 造型="曼珠沙华"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="老G很骚",
      名称="处女座",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=335
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","处女座",取地图名称(地图)),频道="xt"})
end

function 任务处理类:刷出天秤座()
  local 地图范围={1506}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_336_"..os.time().."_"..取随机数(88,99999999)
    local 造型="龟丞相"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="老G很骚",
      名称="天秤座",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=336
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","天秤座",取地图名称(地图)),频道="xt"})
end

function 任务处理类:完成狮子座(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=20000
  local 银子=2000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"狮子座",1)
      玩家数据[id].角色:添加银子(银子,"狮子座",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"狮子座")
      end
      local 奖励参数=取随机数(1,500)
      if 奖励参数<=100 then
        local 名称="修炼果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(狮子座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=300 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,8))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(狮子座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=350 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{6,14})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(狮子座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=400 then
        local 名称="星辉石"
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,8))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(狮子座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成处女座(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=20000
  local 银子=2000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"处女座",1)
      玩家数据[id].角色:添加银子(银子,"处女座",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"处女座")
      end
      local 奖励参数=取随机数(1,1000)
      if 奖励参数<=100 then
        local 名称="修炼果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(处女座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=250 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,8))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(处女座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=300 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{6,14})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(处女座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=400 then
        local 名称="星辉石"
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,8))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(处女座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成天秤座(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=20000
  local 银子=2000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"天秤座",1)
      玩家数据[id].角色:添加银子(银子,"天秤座",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"天秤座")
      end
      local 奖励参数=取随机数(1,1000)
      if 奖励参数<=100 then
        local 名称="修炼果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天秤座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=250 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天秤座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=300 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,8))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天秤座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=350 then
        local 奖励数据=玩家数据[id].道具:给予书铁(id,{6,14})
        local 名称=奖励数据[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天秤座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=400 then
        local 名称="星辉石"
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,8))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(天秤座)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:刷出散财童子()
  local 地图范围={1501}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,10 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_337_"..os.time().."_"..取随机数(88,99999999)
    local 造型="葫芦宝贝"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="恭喜发财",
      名称="散财童子",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=337
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","散财童子",取地图名称(地图)),频道="xt"})
end

function 任务处理类:完成散财童子(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=20000
  local 银子=8000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"散财童子",1)
      玩家数据[id].角色:添加银子(银子,"散财童子",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"散财童子")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=10 then
        local 名称="魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=20 then
        local 名称="月华露"
        玩家数据[id].道具:给予道具(id,名称,1,500)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=30 then
        local 名称="修炼果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=40 then
        local 名称="九转金丹"
        玩家数据[id].道具:给予道具(id,名称,1,50)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=50 then
        local 名称="海马"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=60 then
        local 名称="金银锦盒"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 名称="中级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=80 then
        local 名称="灵饰指南书"
        玩家数据[id].道具:给予道具(id,名称,{6})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=85 then
        local 名称="元灵晶石"
        玩家数据[id].道具:给予道具(id,名称,{6})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=90 then
        local 名称="灵饰指南书"
        玩家数据[id].道具:给予道具(id,名称,{8})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=95 then
        local 名称="元灵晶石"
        玩家数据[id].道具:给予道具(id,名称,{8})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
      else
        添加元宝(取随机数(2,6),玩家数据[id].账号,id,"散财童子")
        广播消息({内容=format("#S(散财童子)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,"元宝"),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:设置渡劫任务(id)
  local 任务id="渡劫_8800_"..os.time()..取随机数(88,99999999)
  任务数据[任务id]={
    id=任务id,
    玩家id=id,
    起始=os.time(),
    结束=999999,
    名称="天冷曰妄空",
    模型="神天兵",
    武器="弑皇",
    武器等级=160,
    称谓="狂暴之力",
    武器染色方案=2051,
    武器染色组={[2]=0,[1]=1},
    x=51,
    y=76,
    方向=0,
    地图编号=1092,
    地图名称=取地图名称(1092),
    类型=8800,
  }
  剧情数据.渡劫.进行[id]={进程=1}
  玩家数据[id].角色:添加任务(任务id)
  地图处理类:添加单位(任务id)
end

function 任务处理类:取渡劫任务(id)
  if 剧情数据.渡劫.进行[id].进程==1 then
    local 任务id=id.."_8801_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1179
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="海星",
      变异=true,
      x=55,
      y=50,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8801,
    }
    地图处理类:添加单位(任务id)
  elseif 剧情数据.渡劫.进行[id].进程==2 then
    local 任务id=id.."_8802_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1187
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="海星",
      变异=true,
      x=58,
      y=28,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8802,
    }
    地图处理类:添加单位(任务id)
  elseif 剧情数据.渡劫.进行[id].进程==3 then
    local 任务id=id.."_8803_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1178
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="海星",
      变异=true,
      x=82,
      y=37,
      方向=0,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8803,
    }
    地图处理类:添加单位(任务id)
    任务id=id.."_8804_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="天冷曰妄空",
      模型="神天兵",
      武器="弑皇",
      武器等级=160,
      称谓="狂暴之力",
      武器染色方案=2051,
      武器染色组={[2]=0,[1]=1},
      x=76,
      y=41,
      方向=3,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8804,
    }
    地图处理类:添加单位(任务id)
  elseif 剧情数据.渡劫.进行[id].进程==4 then
    local 任务id=id.."_8805_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1187
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="海星",
      变异=true,
      x=112,
      y=55,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8805,
    }
    地图处理类:添加单位(任务id)
  elseif 剧情数据.渡劫.进行[id].进程==5 then
    local 任务id=id.."_8806_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1178
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="龙神",
      模型="蛟龙",
      变异=true,
      x=116,
      y=30,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8806,
    }
    地图处理类:添加单位(任务id)
  elseif 剧情数据.渡劫.进行[id].进程==6 then
    local 任务id=id.."_8807_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1210
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="海星",
      变异=true,
      x=177,
      y=11,
      方向=1,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8807,
    }
    地图处理类:添加单位(任务id)
    任务id=id.."_8808_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="天冷曰妄空",
      模型="神天兵",
      武器="弑皇",
      武器等级=160,
      称谓="狂暴之力",
      武器染色方案=2051,
      武器染色组={[2]=0,[1]=1},
      x=171,
      y=15,
      方向=3,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8808,
    }
    地图处理类:添加单位(任务id)
    local 随机造型={"剑侠客","逍遥生","飞燕女","英女侠","神天兵","龙太子","舞天姬","玄彩娥","虎头怪","巨魔王","狐美人","骨精灵"}
    local 随机名称={"大唐官府弟子","化生寺弟子","女儿村弟子","方寸山弟子","五庄观弟子","天宫弟子","龙宫弟子","普陀山弟子","狮驼岭弟子","魔王寨弟子","盘丝洞弟子","阴曹地府弟子"}
    for i=1,#随机造型 do
      任务id=id.."_8809_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      local x坐标=取随机数(156,174)
      local y坐标=取随机数(15,27)
      local 造型=随机造型[i]
      local 武器造型=取高级地煞星武器造型(造型)
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=造型,
        武器=武器造型.武器,
        武器等级=武器造型.级别,
        武器染色方案=2051,
        武器染色组={[1]=1,[2]=0},
        x=x坐标,
        y=y坐标,
        方向=3,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=8809,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 剧情数据.渡劫.进行[id].进程==7 then
    local 任务id=id.."_8810_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1208
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="海星",
      变异=true,
      x=45,
      y=36,
      方向=1,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8810,
    }
    地图处理类:添加单位(任务id)
  elseif 剧情数据.渡劫.进行[id].进程==9 then
    local 任务id=id.."_8811_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1210
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="天冷曰妄空",
      模型="神天兵",
      武器="弑皇",
      武器等级=160,
      称谓="狂暴之力",
      武器染色方案=2051,
      武器染色组={[2]=0,[1]=1},
      x=171,
      y=15,
      方向=3,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8811,
    }
    地图处理类:添加单位(任务id)
    任务id=id.."_8812_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="海星",
      变异=true,
      x=177,
      y=11,
      方向=1,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8812,
    }
    地图处理类:添加单位(任务id)
    任务id=id.."_8813_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 门派=玩家数据[id].角色.数据.门派
    local 师傅造型=取门派师傅名称(门派)
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称=师傅造型,
      模型=师傅造型,
      x=172,
      y=10,
      方向=0,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8813,
    }
    地图处理类:添加单位(任务id)
    local 随机造型={"剑侠客","逍遥生","飞燕女","英女侠","神天兵","龙太子","舞天姬","玄彩娥","虎头怪","巨魔王","狐美人","骨精灵"}
    local 随机名称={"大唐官府弟子","化生寺弟子","女儿村弟子","方寸山弟子","五庄观弟子","天宫弟子","龙宫弟子","普陀山弟子","狮驼岭弟子","魔王寨弟子","盘丝洞弟子","阴曹地府弟子"}
    for i=1,#随机造型 do
      任务id=id.."_8814_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      local x坐标=取随机数(156,174)
      local y坐标=取随机数(15,27)
      local 造型=随机造型[i]
      local 武器造型=取高级地煞星武器造型(造型)
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=造型,
        武器=武器造型.武器,
        武器等级=武器造型.级别,
        武器染色方案=2051,
        武器染色组={[1]=1,[2]=0},
        x=x坐标,
        y=y坐标,
        方向=3,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=8814,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 剧情数据.渡劫.进行[id].进程==10 then
    local 任务id=id.."_8815_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1208
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="海星",
      变异=true,
      x=45,
      y=36,
      方向=1,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8815,
    }
    地图处理类:添加单位(任务id)
  elseif 剧情数据.渡劫.进行[id].进程==11 then
    local 任务id=id.."_8816_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1042
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="海星",
      变异=true,
      x=36,
      y=38,
      方向=1,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8816,
    }
    地图处理类:添加单位(任务id)
  elseif 剧情数据.渡劫.进行[id].进程==12 then
    local 任务id=id.."_8817_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1042
    local 门派=玩家数据[id].角色.数据.门派
    local 师傅造型=取门派师傅名称(门派)
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称=师傅造型,
      模型=师傅造型,
      x=29,
      y=38,
      方向=0,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8817,
    }
    地图处理类:添加单位(任务id)
    local 随机造型={"剑侠客","逍遥生","飞燕女","英女侠","神天兵","龙太子","舞天姬","玄彩娥","虎头怪","巨魔王","狐美人","骨精灵"}
    local 随机名称={"大唐官府弟子","化生寺弟子","女儿村弟子","方寸山弟子","五庄观弟子","天宫弟子","龙宫弟子","普陀山弟子","狮驼岭弟子","魔王寨弟子","盘丝洞弟子","阴曹地府弟子"}
    for i=1,#随机造型 do
      任务id=id.."_8818_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      local x坐标=取随机数(17,23)
      local y坐标=取随机数(29,48)
      local 造型=随机造型[i]
      local 武器造型=取高级地煞星武器造型(造型)
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=造型,
        武器=武器造型.武器,
        武器等级=武器造型.级别,
        武器染色方案=2051,
        武器染色组={[1]=1,[2]=0},
        x=x坐标,
        y=y坐标,
        方向=3,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=8818,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 剧情数据.渡劫.进行[id].进程==13 then
    local 任务id=id.."_8819_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    local 地图=1206
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="蚩尤幻影",
      模型="蚩尤",
      x=123,
      y=76,
      方向=0,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8819,
    }
    地图处理类:添加单位(任务id)
    任务id=id.."_8820_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    任务数据[任务id]={
      id=任务id,
      玩家id=id,
      起始=os.time(),
      结束=999999,
      名称="妄空妖魔",
      模型="知了王",
      x=133,
      y=75,
      方向=1,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=8820,
    }
    地图处理类:添加单位(任务id)
    local 造型={"吸血鬼","炎魔神","噬天虎","夜罗刹"}
    for i=1,#造型 do
      任务id=id.."_8821_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      local x坐标=取随机数(115,144)
      local y坐标=取随机数(77,80)
      local 造型=造型[i]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称="蚩尤部下",
        模型=造型,
        x=x坐标,
        y=y坐标,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=8821,
      }
      地图处理类:添加单位(任务id)
    end
  end
end

function 任务处理类:刷出树枝怪物()
  local 地图范围={1001,1004,1005,1006,1007,1008}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,9999999 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_338_"..os.time().."_"..取随机数(88,99999999)
    local 造型="毗舍童子"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="树木",
      名称="树木",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=338
    }
    地图处理类:添加单位(任务id)
  end
end

function 任务处理类:刷出神秘钥匙怪()
  local 地图范围={1004,1005,1006,1007,1008}
  local 地图=地图范围[取随机数(1,#地图范围)]
  for i=1,30 do
    local xy=地图处理类.地图坐标[地图]:取随机点()
    local 任务id="_338_"..os.time().."_"..取随机数(88,99999999)
    local 造型="毗舍童子"
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=1200,
      玩家id=id,
      队伍组={},
      称谓="神秘钥匙怪",
      名称="神秘钥匙怪",
      模型=造型,
      行走开关=true,
      x=xy.x,
      y=xy.y,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=338
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G福利时间到，一波福利怪#Y%s#G已经出现在#Y%s#G场景内","神秘钥匙怪",取地图名称(地图)),频道="xt"})
end

function 任务处理类:完成神秘钥匙怪(任务id,id)
  if 任务数据[任务id]==nil then
    return
  end
  local 奖励系数=取随机数(1,100)
  if 奖励系数<=10 then
    local 名称="神秘钥匙"
    玩家数据[id].道具:给予道具(id,名称,1)
    常规提示(id,"#Y你获得了"..名称)
    广播消息({内容=format("#S(神秘钥匙怪)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,名称),频道="xt"})
  elseif 奖励系数<=60 then
    添加元宝(取随机数(1,15),玩家数据[id].账号,id,"神秘钥匙怪")
    广播消息({内容=format("#S(神秘钥匙怪)#R/%s#Y小试牛刀，轻轻松松的击败了福利怪#R%s#Y，因此获得了其奖励的#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,"元宝"),频道="xt"})
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:刷出怒天魇()
  local 地图范围={1001,1070}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  if 地图==1001 then
    xy.x=360
    xy.y=31
  else
    xy.x=100
    xy.y=154
  end
  local 任务id="_339_"..os.time().."_"..取随机数(88,99999999)
  local 造型="蚩尤"
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=7200,
    玩家id=id,
    队伍组={},
    名称="怒天◆魇",
    模型=造型,
    行走开关=true,
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=339
  }
  地图处理类:添加单位(任务id)
  广播消息({内容=format("#G据说#Y%s#G携带着绝世神兵降临#Y%s#G，少侠若有登峰造极的实力，可前往挑战".."#"..取随机数(1,110),任务数据[任务id].名称,取地图名称(地图)),频道="xt"})
end

function 任务处理类:完成怒天魇(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=3000000
  local 银子=1000000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"怒天◆魇",1)
      玩家数据[id].角色:添加银子(银子,"怒天◆魇",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"怒天◆魇")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=20 then
        local 名称="50W银子"
        玩家数据[id].角色:添加银子(500000,"怒天◆魇",1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=45 then
        local 星级=取随机数(1,3)
        local 名称="160级"..星级.."星武器装备"
        玩家数据[id].装备:给予星级装备(id,星级)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=55 then
        local 星级=取随机数(4,7)
        local 名称="160级"..星级.."星武器装备"
        玩家数据[id].装备:给予星级装备(id,星级)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=60 then
        local 星级=取随机数(8,10)
        local 名称="160级"..星级.."星武器装备"
        玩家数据[id].装备:给予星级装备(id,星级)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=62 then
        local 星级=取随机数(11,14)
        local 名称="160级"..星级.."星武器装备"
        玩家数据[id].装备:给予星级装备(id,星级)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=63 then
        local 星级=取随机数(15,15)
        local 名称="160级"..星级.."星武器装备"
        玩家数据[id].装备:给予星级装备(id,星级)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=69 then
        local 名称="140级无级别灵饰"
        礼包奖励类:随机灵饰(id,140,"无级别限制")
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=84 then
        local 名称="融合石"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      elseif 奖励参数<=89 then
        local 随机锦衣={"碧华锦凝雪","夜影","夏日清凉","华风汉雅","萌萌小厨"}
        local 名称=随机锦衣[取随机数(1,#随机锦衣)]
        玩家数据[id].道具:给予道具(id,名称)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      else
        local 名称="坐骑内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(怒天◆魇)#R/%s#Y经历了一场惊天地泣鬼神的战斗".."#"..取随机数(1,110).."#Y，终于战胜了#R%s#Y，让他明白了谁才是世界上最潇洒的人，获得了#R%s#Y珍藏的宝物#G/%s".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,任务数据[任务id].名称,任务数据[任务id].名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成不屈将魂(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=20000
  local 银子=5000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"不屈将魂",1)
      玩家数据[id].角色:添加银子(银子,"不屈将魂",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"不屈将魂")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=30 then
        礼包奖励类:随机灵饰(id,60,"无级别限制")
        local 名称="60级无级别灵饰"
        常规提示(id,"#Y你得到了#R"..名称)
        广播消息({内容=format("#S(不屈将魂)#R/%s#Y少侠与武将亡魂比试时，公然拔出来藏在裤裆里的暗器，将军们一看不对劲，扭头就跑，心里想着公开比试怎么可以使用暗器呢，太不要脸了，慌忙中连#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=80 then
        local 名称="仙玉锦囊"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(不屈将魂)#R/%s#Y少侠与武将亡魂比试时，公然拔出来藏在裤裆里的暗器，将军们一看不对劲，扭头就跑，心里想着公开比试怎么可以使用暗器呢，太不要脸了，慌忙中连#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      else
        local 名称="怪物卡片"
        玩家数据[id].道具:给予道具(id,名称,取随机数(5,8))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(不屈将魂)#R/%s#Y少侠与武将亡魂比试时，公然拔出来藏在裤裆里的暗器，将军们一看不对劲，扭头就跑，心里想着公开比试怎么可以使用暗器呢，太不要脸了，慌忙中连#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:刷新魔化沙僧()
  local 地图范围={1207,1204,1231,1232}
  local 等级=160
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 任务id="_"..等级.."_"..取随机数(1,99).."_343_"..os.time().."_"..随机序列.."_"..取随机数(1,99).."_"..等级
  随机序列=随机序列+1
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=3600,
    玩家id=id,
    队伍组={},
    称谓="",
    名称="魔化沙僧",
    模型="沙僧",
    等级=等级,
    x=xy.x,
    y=xy.y,
    行走开关=true,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=343
  }
  地图处理类:添加单位(任务id)
  广播消息({内容=format("#G世间万道,唯魔独尊!#Y%s#G突然出现在#Y%s#G内,正在大肆屠杀大唐子民。请正义之士前往消灭！",任务数据[任务id].名称,任务数据[任务id].地图名称),频道="xt"})
end

function 任务处理类:刷新魔化取经()
  local 地图范围={1203}
  local 等级=160
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 任务id="_"..等级.."_"..取随机数(1,99).."_344_"..os.time().."_"..随机序列.."_"..取随机数(1,99).."_"..等级
  随机序列=随机序列+1
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=360000,
    玩家id=id,
    队伍组={},
    称谓="取经三人行",
    名称="魔化孙悟空",
    模型="孙悟空",
    等级=等级,
    x=xy.x,
    y=xy.y,
    行走开关=true,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=344
  }
  地图处理类:添加单位(任务id)
  广播消息({内容=format("#G世间万道,唯魔独尊!#Y%s#G突然出现在#Y%s#G内,正在大闹西天清净之地。请有能之士前往消灭！",任务数据[任务id].名称,任务数据[任务id].地图名称),频道="xt"})
end

function 任务处理类:完成魔化沙僧(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=1000000
  local 银子=500000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"魔化沙僧",1)
      玩家数据[id].角色:添加银子(银子,"魔化沙僧",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"魔化沙僧")
      end
      local 奖励参数=取随机数(1,120)
      if 奖励参数<=15 then
        local 名称="高级魔兽要诀"
        local 技能=取特殊要诀()
        玩家数据[id].道具:给予道具(id,名称,nil,技能)
        广播消息({内容=format("#S(魔化沙僧)#R/%s#Y将魔化沙僧打的抱头鼠窜,惊慌中竟然将#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,技能),频道="xt"})
      elseif 奖励参数<=35 then
        local 名称="魔兽残卷"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔化沙僧)#R/%s#Y将魔化沙僧打的抱头鼠窜,惊慌中竟然将#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=40 then
        礼包奖励类:随机装备(id,120,"无级别限制")
        local 名称="120级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔化沙僧)#R/%s#Y将魔化沙僧打的抱头鼠窜,惊慌中竟然将#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=45 then
        礼包奖励类:随机装备(id,130,"无级别限制")
        local 名称="130级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔化沙僧)#R/%s#Y将魔化沙僧打的抱头鼠窜,惊慌中竟然将#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=55 then
        local 名称="百炼精铁"
          玩家数据[id].道具:给予书铁(id,{10,15},"精铁")
          常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔化沙僧)#R/%s#Y将魔化沙僧打的抱头鼠窜,惊慌中竟然将#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=65 then
        local 名称="上古锻造图策"
        玩家数据[id].道具:给予道具(id,名称,{135,145})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔化沙僧)#R/%s#Y将魔化沙僧打的抱头鼠窜,惊慌中竟然将#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 名称="炼妖石"
        玩家数据[id].道具:给予道具(id,名称,{135,145})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔化沙僧)#R/%s#Y将魔化沙僧打的抱头鼠窜,惊慌中竟然将#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成魔化取经(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=1000000
  local 银子=1000000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"魔化取经",1)
      玩家数据[id].角色:添加银子(银子,"魔化取经",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"魔化取经")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=20 then
        礼包奖励类:随机装备(id,130,"无级别限制")
        local 名称="130级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔化取经)#R/%s#Y将魔化取经打的抱头鼠窜,惊慌中竟然将#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})

      elseif 奖励参数<=30 then
        local 名称="百炼精铁"
          玩家数据[id].道具:给予书铁(id,{10,16},"精铁")
          常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔化取经)#R/%s#Y将魔化取经打的抱头鼠窜,惊慌中竟然将#G百炼精铁#Y都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,技能),频道="xt"})
      elseif 奖励参数<=50 then
        local 名称=取随机神兽[取随机数(1,#取随机神兽)]
        玩家数据[id].召唤兽:添加召唤兽(名称,nil,nil,true,0,物法)
        常规提示(id,"#Y/你获得了新的召唤兽"..名称)
        广播消息({内容=format("#S(魔化取经)#R/%s#Y将魔化取经打的抱头鼠窜,惊慌中竟然将#G/%s#Y神兽都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=60 then
        礼包奖励类:随机装备(id,140,"无级别限制")
        local 名称="140级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔化取经)#R/%s#Y将魔化取经打的抱头鼠窜,惊慌中竟然将#G/%s#Y宝物都忘记带走。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成七十二地煞星(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=0
  local 银子=0
  local 难度 = 任务数据[任务id].难度
  if 难度 <= 10 then
    经验 = 100000 + 难度*30000
    银子 = 20000 + 难度*15000
  elseif 难度 == 11 then
    经验 = 600000
    银子 = 200000
  elseif 难度 == 12 or 难度 == 13 then
    经验 = 1000000
    银子 = 300000
  end
  if 玩家数据[id组[1]].角色.数据.七十二地煞 <= 任务数据[任务id].难度 then
    玩家数据[id组[1]].角色.数据.七十二地煞 = 任务数据[任务id].难度 + 1
  end
  if 任务数据[任务id].难度 == 8 then
    玩家数据[id组[1]].角色:添加称谓(id组[1],"地煞勇士")
  elseif 任务数据[任务id].难度 == 13 then
    玩家数据[id组[1]].角色:添加称谓(id组[1],"地煞终结者")
  end
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"七十二地煞星",1)
      玩家数据[id].角色:添加银子(银子,"七十二地煞星",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*1.5),id,"七十二地煞星")
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:侠义任务(id)
  local 任务物品 = {"魔兽要诀","召唤兽内丹","怪物卡片","物品","鬼谷子"}
  local 任务id=id.."_346_"..os.time()
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=99999999999999999,
    玩家id=id,
    队伍组={},
    物品类型="物品",
    物品="金柳露",
    类型=346,
    完成=false
  }
  local 物品目标 = 取随机数(1,#任务物品)
  local 所需物品 = 任务物品[物品目标]
  任务数据[任务id].物品类型 = 所需物品
  if 所需物品 == "魔兽要诀" then
    任务数据[任务id].物品 = 取低级要诀()
  elseif 所需物品 == "召唤兽内丹" then
    任务数据[任务id].物品 = 取内丹()
  elseif 所需物品 == "怪物卡片" then
    local 数量 = 取随机数(1,8)
    任务数据[任务id].物品 = 变身卡范围[数量][取随机数(1,#变身卡范围[数量])]
  elseif 所需物品 == "鬼谷子" then
    local 阵法数据 = {"天覆阵","龙飞阵","风扬阵","虎翼阵","云垂阵","鸟翔阵","地载阵","蛇蟠阵","鹰啸阵","雷绝阵"}
    任务数据[任务id].物品 = 阵法数据[取随机数(1,#阵法数据)]
  else
    local 随机 = 取随机数(1,4)
    if 随机 == 1 then
      local 强化数据 = {"青龙石","白虎石","玄武石","朱雀石"}
      任务数据[任务id].物品 = 强化数据[取随机数(1,#强化数据)]
    elseif 随机 == 2 then
      任务数据[任务id].物品 = "九转金丹"
    elseif 随机 == 3 then
      任务数据[任务id].物品 = "修炼果"
    else
      任务数据[任务id].物品 = "金柳露"
    end
  end
  if 玩家数据[id].角色.数据.侠义次数==nil then
    玩家数据[id].角色.数据.侠义次数=1
  end
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  常规提示(id,"#Y/你获得了侠义任务")
  发送数据(玩家数据[id].连接id,1501,{名称="袁天罡",模型="袁天罡",对话=format("最近缺少#G/%s#R/%s#W，麻烦少侠帮我找来。",任务数据[任务id].物品类型,任务数据[任务id].物品)})
end

function 任务处理类:完成侠义任务(任务id,id)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=200000
  local 银子=100000
  玩家数据[id].角色:添加经验(经验,"侠义任务",1)
  玩家数据[id].角色:添加银子(银子,"侠义任务",1)
  玩家数据[id].角色.数据.侠义积分=玩家数据[id].角色.数据.侠义积分+1
  if 玩家数据[id].角色.数据.侠义次数==10 then
    玩家数据[id].角色.数据.侠义次数=0
    玩家数据[id].道具:给予道具(id,"高级魔兽要诀")
  end
  玩家数据[id].角色.数据.侠义次数=玩家数据[id].角色.数据.侠义次数+1
  玩家数据[id].角色:取消任务(任务id)
  任务数据[任务id]=nil
  常规提示(id,"#Y/完成侠义任务，获得了#R1#Y点侠义积分，当前侠义积分为：#R"..玩家数据[id].角色.数据.侠义积分)
end

function 任务处理类:福利宝箱(id)
  local 地图范围={1003,1506,1501,1876}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 临时数量=取随机数(10,10)
    local 地图=地图范围[i]
    x待发送数据[地图]={}
    for n=1,临时数量 do
      local 任务id=地图.."_347_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=3600,
        玩家id=0,
        队伍组={},
        名称="福利宝箱",
        模型="宝箱",
        x=xy.x,
        y=xy.y,
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=347
      }
      -- 地图处理类:添加单位(任务id)
      table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
    end
  end
  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据={}
  广播消息({内容=format("#G天降福缘、一大批福利宝箱掉落在桃源村、东海湾、建邺城、南岭山，请有缘人尽快去拾取。".."#"..取随机数(1,110)),频道="xt"})
end

function 任务处理类:完成福利宝箱(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 奖励参数=取随机数()
      if 奖励参数<=73 then
      elseif 奖励参数<=93 then
        local 名称="5W银子"
        玩家数据[id].角色:添加银子(50000,"福利宝箱",1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(福利宝箱)#R/%s#Y少侠开启福利宝箱时，里面居然藏着美味的海鲜，少侠口水直流，猛得咬下去，居然硌掉了大门牙，拿出来一看居然是#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=94 then
        local 名称="鬼谷子"
        玩家数据[id].道具:给予道具(id,名称)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(福利宝箱)#R/%s#Y少侠开启福利宝箱时，里面居然藏着美味的海鲜，少侠口水直流，猛得咬下去，居然硌掉了大门牙，拿出来一看居然是#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=95 then
        local 名称=玩家数据[id].道具:取五宝()
        玩家数据[id].道具:给予道具(id,名称)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(福利宝箱)#R/%s#Y少侠开启福利宝箱时，里面居然藏着美味的海鲜，少侠口水直流，猛得咬下去，居然硌掉了大门牙，拿出来一看居然是#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      else
        礼包奖励类:随机装备(id,100,"无级别限制")
        local 名称="100级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(福利宝箱)#R/%s#Y少侠开启福利宝箱时，里面居然藏着美味的海鲜，少侠口水直流，猛得咬下去，居然硌掉了大门牙，拿出来一看居然是#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:倾国倾城()
  local 地图范围={1876,1041,1235}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 临时数量=取随机数(10,10)
    local 地图=地图范围[i]
    x待发送数据[地图]={}
    for n=1,临时数量 do
      local 任务id=地图.."_348_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 模型范围={"画魂"}
      local 模型名称范围={"貂蝉","甄宓","小乔","大乔","蔡文姬","王昭君","妲己","李清照","杨玉环","陈圆圆"}
      local 名称模型=模型名称范围[取随机数(1,#模型名称范围)]
      local 模型=模型范围[取随机数(1,#模型范围)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=3600,
        玩家id=0,
        队伍组={},
        名称=名称模型,
        模型=模型,
        x=xy.x,
        y=xy.y,
        行走开关=true,
        变异=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        显示饰品=true,
        类型=348
      }
      table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
    end
  end
  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据={}
  广播消息({内容=format("#G听附近的村民说，南岭山、子母河、丝绸之路附近传来了美妙动听的歌声，有兴趣的少侠可以前往一探究竟。"),频道="xt"})
end

function 任务处理类:美食专家()
  local 地图范围={1003,1506,1501,1092}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 临时数量=取随机数(20,20)
    local 地图=地图范围[i]
    x待发送数据[地图]={}
    for n=1,临时数量 do
      local 任务id=地图.."_349_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 模型范围={"赌徒","山贼","强盗"}
      local 模型名称范围={"贪吃的食客"}
      local 名称模型=模型名称范围[取随机数(1,#模型名称范围)]
      local 模型=模型范围[取随机数(1,#模型范围)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=3600,
        玩家id=0,
        队伍组={},
        名称=名称模型,
        模型=模型,
        x=xy.x,
        y=xy.y,
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        显示饰品=true,
        类型=349
      }
      table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
    end
  end
  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据={}
  广播消息({内容=format("#G一群贪吃的食客在各地抢掠美食，请各位少侠赶紧前去阻止。"),频道="xt"})
end

function 任务处理类:完成倾国倾城(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=150000
  local 银子=80000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      玩家数据[id].角色:添加经验(经验,"倾国倾城",1)
      玩家数据[id].角色:添加银子(银子,"倾国倾城",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*1.8),id,"倾国倾城")
      end
      local 奖励参数=取随机数(1,80)
      if 奖励参数 <= 10 then

        local 名称="魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(倾国倾城)#R/%s#Y与美女们拼酒时，成功打跑了前来捣乱的抠脚大汉，获得小姐姐们奖励#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=20 then
        local 名称="元宵"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(倾国倾城)#R/%s#Y与美女们拼酒时，成功打跑了前来捣乱的抠脚大汉，获得小姐姐们奖励#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成美食专家(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=10000
  local 银子=5000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"美食专家",1)
      玩家数据[id].角色:添加银子(银子,"美食专家",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"美食专家")
      end
      local 奖励参数=取随机数()
      if 奖励参数 <= 85 then
      elseif 奖励参数<=95 then
        local 物品表={"烤肉","醉生梦死","蛇胆酒","百味酒","梅花酒","长寿面","翡翠豆腐","桂花丸","佛跳墙","佛跳墙","佛跳墙","珍露酒","烤鸭","烤鸭","豆斋果","烤鸭","臭豆腐","佛跳墙","包子","烤鸭","虎骨酒","包子","女儿红"}
        local 名称=物品表[取随机数(1,#物品表)]
        玩家数据[id].道具:给予道具(id,名称,1,100)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(美食专家)#R/%s#Y少侠打散了袭扰村民的食客，顺便扒拉食客的衣物拿去典当，居然换到了#G/%s#Y奖励。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=96 then
        local 物品表={"金香玉","小还丹","千年保心丹","风水混元丹","定神香","蛇蝎美人","九转回魂丹","佛光舍利子","十香返生丸","五龙丹"}
        local 名称=物品表[取随机数(1,#物品表)]
        玩家数据[id].道具:给予道具(id,名称,1,150)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(美食专家)#R/%s#Y少侠打散了袭扰村民的食客，顺便扒拉食客的衣物拿去典当，居然换到了#G/%s#Y奖励。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      -- elseif 奖励参数 <=98 then
      --   local 名称="高级召唤兽内丹"
      --   玩家数据[id].道具:给予道具(id,名称,1)
      --   常规提示(id,"#Y/你获得了"..名称)
      --   广播消息({内容=format("#S(美食专家)#R/%s#Y少侠打散了袭扰村民的食客，顺便扒拉食客的衣物拿去典当，居然换到了#G/%s#Y奖励。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      -- else
      --   local 名称="高级魔兽要诀"
      --   玩家数据[id].道具:给予道具(id,名称,1)
      --   常规提示(id,"#Y/你获得了"..名称)
      --   广播消息({内容=format("#S(美食专家)#R/%s#Y少侠打散了袭扰村民的食客，顺便扒拉食客的衣物拿去典当，居然换到了#G/%s#Y奖励。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成通天塔(任务id,id组)
  local 通天塔层数 = 通天塔数据[id组[1]].层数
  local 经验=20000
  local 银子=10000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验*(通天塔层数+1),"勇闯通天塔",1)
      玩家数据[id].角色:添加银子(银子*(通天塔层数+1),"勇闯通天塔",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"勇闯通天塔")
      end
      local 奖励参数=取随机数()
      if not 让海啸席卷 and 奖励参数 <=50 then

      elseif 让海啸席卷 and 奖励参数 <=30 then

      elseif 让海啸席卷 and 奖励参数<=32 then
        local 名称="魔兽残卷"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 让海啸席卷 and 奖励参数<=35 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(5,10))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 让海啸席卷 and 奖励参数<=40 then
        local 名称="神兜兜"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 让海啸席卷 and 奖励参数 <= 41 then
        local 技能=取特殊要诀()
        local 名称="高级魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,nil,技能)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,技能),频道="xt"})
       elseif 奖励参数<=60 then
        local 名称="召唤兽内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=65 then
        local 名称="初级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=70 then
        local 名称="中级神魂丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 名称="坐骑内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
       elseif 奖励参数 <=80 then
        local 名称="高级召唤兽内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      else
        local 名称="高级魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(勇闯通天塔)#R/%s#Y突破自我，勇闯通天塔，获得镇塔之神奖励的#G/%s#Y。".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
      if (通天塔数据[id].层数+1)/20==math.floor((通天塔数据[id].层数+1)/20) then
        local 点卡系数=math.floor((通天塔数据[id].层数+1)/20)
        添加点卡(2*点卡系数,玩家数据[id].账号,id,"勇闯通天塔")
        发送公告("#S(勇闯通天塔)#G神勇无比，玩家#R"..玩家数据[id组[1]].角色.数据.名称.."#G带领队员完成了通天塔#Y "..(通天塔数据[id].层数+1).." #G层的挑战，距离通天之路,距离又近了一步！")
      end
    end
    通天塔数据[id].层数=通天塔数据[id].层数+1
  end
end

function 任务处理类:添加贼王的线索任务(id)
  local 任务id=id.."_350_"..os.time()
  local 地图范围={1501,1092,1208,1070,1040,1226}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  local 名称="贼王"
  local 结束时间=7200
  任务数据[任务id]={
    领取人id={id},
    id=任务id,
    起始=os.time(),
    结束=结束时间,
    玩家id=id,
    队伍组={},
    名称=名称,
    模型="吸血鬼",
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=350
  }
  玩家数据[id].角色:添加任务(任务id)
  发送数据(玩家数据[id].连接id,39)
  发送数据(玩家数据[id].连接id,1501,{名称="冷无情",模型="男人_衙役",对话=format("据可靠情报，现有#Y/%s#W/逃到了#G/%s(%s,%s)#W/处，请你前往将其缉拿。此通缉犯实力不容小窥，请尽量寻找一些高人前来协助。",任务数据[任务id].名称,任务数据[任务id].地图名称,任务数据[任务id].x,任务数据[任务id].y)})
  地图处理类:添加单位(任务id)
end

function 任务处理类:完成贼王的线索(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=200000
  local 银子=100000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      玩家数据[id].角色:添加经验(经验,"贼王的线索",1)
      玩家数据[id].角色:添加银子(银子,"贼王的线索",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*1.8),id,"贼王的线索")
      end
      local 奖励参数=取随机数(1,80)
      if 奖励参数<=30 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,5)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(贼王的线索)#R/%s#Y少侠勇武过人，一举拿下臭名远播的贼王，获得#G/%s#Y奖励".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=33 then
        local 名称="元宵"
        玩家数据[id].道具:给予道具(id,名称,2)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(贼王的线索)#R/%s#Y少侠勇武过人，一举拿下臭名远播的贼王，获得#G/%s#Y奖励".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      else
        local 名称="30W银子"
        玩家数据[id].角色:添加银子(300000,"贼王的线索",1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(贼王的线索)#R/%s#Y少侠勇武过人，一举拿下臭名远播的贼王，获得#G/%s#Y奖励".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:貔貅的羁绊()
  local 地图范围={1003,1506,1876,1193,1514}
  local x待发送数据 = {}
  for i=1,#地图范围 do
    local 临时数量=取随机数(7,7)
    local 地图=地图范围[i]
    x待发送数据[地图]={}
    for n=1,临时数量 do
      local 任务id=地图.."_351_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999).."_"..n
      随机序列=随机序列+1
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 模型范围={"帮派妖兽"}
      local 模型名称范围={"貔貅"}
      local 名称模型=模型名称范围[取随机数(1,#模型名称范围)]
      local 模型=模型范围[取随机数(1,#模型范围)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=3600,
        玩家id=0,
        队伍组={},
        名称=名称模型,
        模型=模型,
        x=xy.x,
        y=xy.y,
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        显示饰品=true,
        类型=351
      }
      table.insert(x待发送数据[地图], 地图处理类:批量添加单位(任务id))--修改
    end
  end
  for i=1,#地图范围 do--修改
    local 地图编号=地图范围[i]
    for n, v in pairs(地图处理类.地图玩家[地图编号]) do
      if 地图处理类:取同一地图(地图编号,id,n,1)  then
        发送数据(玩家数据[n].连接id,1021,x待发送数据[地图编号])
      end
    end
  end
  x待发送数据={}
  广播消息({内容=format("#G据说林子里出现里一堆野兽，正在袭扰村民，有胆量的少侠请帮忙前往平乱。"),频道="xt"})
end

function 任务处理类:完成貔貅的羁绊(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=150000
  local 银子=100000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      玩家数据[id].角色:添加经验(经验,"貔貅的羁绊",1)
      玩家数据[id].角色:添加银子(银子,"貔貅的羁绊",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"貔貅的羁绊")
      end
      local 奖励参数=取随机数(1,120)
      if 奖励参数 <= 30 then
      elseif 奖励参数 <= 60 then
        礼包奖励类:随机装备(id,100,"无级别限制")
        local 名称="100级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(貔貅的羁绊)#R/%s#Y少侠与貔貅切磋武艺，刻苦努力，终于击败貔貅，获得村民奖励#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
       elseif 奖励参数 <= 50 then
        local 名称="元宵"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(貔貅的羁绊)#R/%s#Y少侠与貔貅切磋武艺，刻苦努力，终于击败貔貅，获得村民奖励#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数 <= 60 then
        local 名称="高级藏宝图"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(貔貅的羁绊)#R/%s#Y少侠与貔貅切磋武艺，刻苦努力，终于击败貔貅，获得村民奖励#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数 <= 80 then
        local 名称="藏宝图"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(貔貅的羁绊)#R/%s#Y少侠与貔貅切磋武艺，刻苦努力，终于击败貔貅，获得村民奖励#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      else
        local 名称="金柳露"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(貔貅的羁绊)#R/%s#Y少侠与貔貅切磋武艺，刻苦努力，终于击败貔貅，获得村民奖励#G/%s#Y".."#"..取随机数(1,110),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:开启水陆副本(id)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
    常规提示(id,"#Y/该任务必须组队完成且由队长领取")
    return
  elseif 取队伍人数(id)<1 then
    常规提示(id,"#Y此副本要求队伍人数不低于5人")
    return
  elseif  取等级要求(id,60)==false then
    常规提示(id,"#Y此副本要求角色等级不能低于60级")
    return
  end
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    if 副本数据.水陆大会.完成[临时id]~=nil then
      常规提示(临时id,"#Y"..玩家数据[临时id].角色.数据.名称.."本日已经完成过此副本了")
      return
    elseif 玩家数据[临时id].角色:取任务(150)~=0 then
      常规提示(临时id,"#Y"..玩家数据[临时id].角色.数据.名称.."正在进行副本任务，无法领取新的副本")
      return
    end
  end
  local 任务id=id.."_150_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=7200,
    玩家id={},
    队伍组={},
    装潢=0,
    邀请=0,
    副本id=id,
    类型=150
  }
  副本数据.水陆大会.进行[id]={进程=1}
  副本数据.水陆大会.进行[id].副本任务id = 任务id
  local 队伍id=玩家数据[id].队伍
  self:设置水陆大会副本(id)
  for n=1,#队伍数据[队伍id].成员数据 do
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 临时id=队伍数据[队伍id].成员数据[n]
      玩家数据[临时id].角色:添加任务(任务id)
      常规提示(临时id,"#Y你开启了水陆大会副本")
    end
  end
end

function 任务处理类:设置水陆大会副本(id)
  local 地图=0
  local x坐标=0
  local y坐标=0
  local 方向=0
  if 副本数据.水陆大会.进行[id]==nil then
    return
  end
  if 副本数据.水陆大会.进行[id].副本任务id==nil then
      常规提示(id,"#Y副本任务失败！")
      return
  end
  local fbid = 副本数据.水陆大会.进行[id].副本任务id
  local 随机名称={}
  local 随机模型={}
  if 副本数据.水陆大会.进行[id].毒虫触发==nil and 副本数据.水陆大会.进行[id].进程>=3 and 副本数据.水陆大会.进行[id].进程<=7 and 取随机数()>=90 then
    local 地图范围={6024}
    local 地图=地图范围[取随机数(1,#地图范围)]
    副本数据.水陆大会.进行[id].毒虫触发=true
    for i=1,6 do
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 任务id="_354_"..os.time().."_"..取随机数(88,99999999)
      local 造型="海毛虫"
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=600,
        玩家id=id,
        队伍组={},
        名称="毒虫",
        模型=造型,
        变异=true,
        事件="明雷",
        副本id=id,
        x=xy.x,
        y=xy.y,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=354,
      }
      地图处理类:添加单位(任务id)
    end
    广播队伍消息(id,"#Y/水陆道场刷出了一群毒虫，少侠赶快去消灭他们！")
  end
  if 副本数据.水陆大会.进行[id].进程==1 then
    副本数据.水陆大会.进行[id].邀请=0
    副本数据.水陆大会.进行[id].装潢=0
    地图 = 6024
    local 任务id="_151_"..os.time().."_"..取随机数(88,99999999)
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=999999,
      玩家id=id,
      队伍组={},
      名称="蟠桃树",
      模型="桃树",
      x=110,
      y=12,
      副本id=id,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=151
    }
    地图处理类:添加单位(任务id)
  elseif 副本数据.水陆大会.进行[id].进程==2 then
    随机名称={"玄奘法师","唐太宗","小沙弥","魏征","殷丞相","杜如晦","尉迟敬德","程咬金","秦琼"}
    随机模型={"唐僧","皇帝","男人_胖和尚","考官2","考官2","考官2","秦琼","程咬金","秦琼"}
    for i=1,#随机模型 do
      任务id=id.."_152_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      地图=6024
      local 造型=随机模型[i]
      if 随机名称[i]=="玄奘法师" then
        x坐标=56
        y坐标=57
        方向=1
      elseif 随机名称[i]=="唐太宗" then
        x坐标=48
        y坐标=64
        方向=3
      elseif 随机名称[i]=="小沙弥" then
        x坐标=58
        y坐标=65
        方向=1
      elseif 随机名称[i]=="魏征" then
        x坐标=43
        y坐标=64
        方向=0
      elseif 随机名称[i]=="殷丞相" then
        x坐标=40
        y坐标=66
        方向=0
      elseif 随机名称[i]=="杜如晦" then
        x坐标=39
        y坐标=68
        方向=0
      elseif 随机名称[i]=="尉迟敬德" then
        x坐标=53
        y坐标=68
        方向=2
      elseif 随机名称[i]=="程咬金" then
        x坐标=50
        y坐标=70
        方向=2
      elseif 随机名称[i]=="秦琼" then
        x坐标=46
        y坐标=71
        方向=2
      end
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=造型,
        x=x坐标,
        y=y坐标,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=152,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.水陆大会.进行[id].进程==3 then
    地图 = 6024
    任务id=id.."_153_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=999999,
      玩家id=id,
      队伍组={},
      名称="受伤的程咬金",
      模型="程咬金",
      x=52,
      y=66,
      方向=1,
      副本id=id,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=153,
    }
    地图处理类:添加单位(任务id)
  elseif 副本数据.水陆大会.进行[id].进程==4 then
    地图 = 6024
    随机名称={"翼虎将军","蝰蛇将军"}
    随机模型={"噬天虎","律法女娲"}
    副本数据.水陆大会.进行[id].翼虎=false
    副本数据.水陆大会.进行[id].翼虎击败=false
    副本数据.水陆大会.进行[id].蝰蛇=false
    副本数据.水陆大会.进行[id].蝰蛇击败=false
    for i=1,#随机模型 do
      if 随机名称[i]=="翼虎将军" then
        x坐标=113
        y坐标=12
        方向=1
      else
        x坐标=122
        y坐标=17
        方向=1
      end
      任务id=id.."_154_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=随机模型[i],
        x=x坐标,
        y=y坐标,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=154,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.水陆大会.进行[id].进程==5 then
    local 任务id = id.."_"..取随机数(88,1111).."_155_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    任务数据[任务id]={
      领取人id={id},
      id=任务id,
      起始=os.time(),
      结束=600,
      玩家id=id,
      队伍组={},
      类型=155
    }
    local 水陆大会邀请人={
       [1]={名称="代笔师爷",x=483,y=125}
      ,[2]={名称="瓜农",x=478,y=119}
      ,[3]={名称="绣娘",x=459,y=162}
      ,[4]={名称="喜轿轿夫",x=483,y=147}
      ,[5]={名称="卖艺者",x=430,y=182}
      ,[6]={名称="乞丐乙",x=455,y=184}
      ,[7]={名称="阿咪",x=470,y=192}
      ,[8]={名称="马商",x=407,y=211}
      ,[9]={名称="小顽童",x=401,y=203}
      ,[10]={名称="卖花童",x=420,y=219}
      ,[11]={名称="丫鬟",x=424,y=222}
      ,[12]={名称="富家小姐",x=431,y=225}
      ,[13]={名称="卖鱼人",x=442,y=229}
      ,[14]={名称="面点师傅",x=443,y=223}
      ,[15]={名称="针线娘子",x=464,y=240}
      ,[16]={名称="樵夫",x=462,y=262}
      ,[17]={名称="大财主",x=427,y=228}
      ,[18]={名称="曾衙役",x=421,y=225}
      ,[19]={名称="布陈太医",x=370,y=243}
      ,[20]={名称="游方郎中",x=389,y=234}
    }

    local 序列=取随机数(1,#水陆大会邀请人)
    local 邀请人1=水陆大会邀请人[序列].名称
    table.remove(水陆大会邀请人,序列)
    local 邀请人2=水陆大会邀请人[取随机数(1,#水陆大会邀请人)].名称
    任务数据[任务id].人物地图=6025
    副本数据.水陆大会.进行[id].人物={[1]={名称=邀请人1,找到=false},[2]={名称=邀请人2,找到=false}}
  elseif 副本数据.水陆大会.进行[id].进程==6 then
    地图 = 6024
    任务id=id.."_156_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=999999,
      玩家id=id,
      队伍组={},
      名称="土地公公",
      模型="男人_土地",
      x=116,
      y=11,
      方向=1,
      副本id=id,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=156,
    }
    地图处理类:添加单位(任务id)
  elseif 副本数据.水陆大会.进行[id].进程==7 then
    副本数据.水陆大会.进行[id].击败小妖=0
    副本数据.水陆大会.进行[id].击败头领=0
    副本数据.水陆大会.进行[id].击败将军=0
    随机名称={"巡山小妖","巡山小妖","巡山小妖","上古妖兽头领","妖将军"}
    随机模型={"鼠先锋","鼠先锋","鼠先锋","地狱战神","野猪精"}
    for i=1,#随机模型 do
      任务id=id.."_157_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      地图=6026
      local 造型=随机模型[i]
      if 随机名称[i]=="巡山小妖" then
        x坐标=取随机数(23,46)
        y坐标=取随机数(80,87)
      elseif 随机名称[i]=="上古妖兽头领" then
        x坐标=55
        y坐标=53
      elseif 随机名称[i]=="妖将军" then
        x坐标=16
        y坐标=43
      end
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=造型,
        x=x坐标,
        y=y坐标,
        方向=方向,
        事件="明雷",
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=157,
      }
      地图处理类:添加单位(任务id)
    end
    随机名称={"上古妖兽头领","妖将军"}
    随机模型={"地狱战神","野猪精"}
    for i=1,#随机模型 do
      任务id=id.."_157_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      地图=6026
      local 造型=随机模型[i]
      if 随机名称[i]=="上古妖兽头领" then
        x坐标=16
        y坐标=67
      elseif 随机名称[i]=="妖将军" then
        x坐标=26
        y坐标=12
      end
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=造型,
        x=x坐标,
        y=y坐标,
        方向=方向,
        事件="明雷",
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=157,
      }
      地图处理类:添加单位(任务id)
    end
    随机名称={"魑魅","魍魉"}
    随机模型={"帮派妖兽","帮派妖兽"}
    for i=1,#随机模型 do
      任务id=id.."_157_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      地图=6026
      local 造型=随机模型[i]
      if 随机名称[i]=="魑魅" then
        x坐标=40
        y坐标=16
        方向=1
      elseif 随机名称[i]=="魍魉" then
        x坐标=47
        y坐标=20
        方向=1
      end
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=造型,
        x=x坐标,
        y=y坐标,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=157,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.水陆大会.进行[id].进程==8 then
    随机名称={"唐太宗","玄奘法师"}
    随机模型={"皇帝","唐僧"}
    for i=1,#随机模型 do
      任务id=id.."_158_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      地图=6026
      local 造型=随机模型[i]
      if 随机名称[i]=="唐太宗" then
        x坐标=40
        y坐标=20
        方向=0
      elseif 随机名称[i]=="玄奘法师" then
        x坐标=47
        y坐标=20
        方向=1
      end
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=造型,
        x=x坐标,
        y=y坐标,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=158,
      }
      地图处理类:添加单位(任务id)
    end
    发送数据(玩家数据[id].连接id,3532)
  end
end

function 任务处理类:驱逐泼猴(id)
  if 玩家数据[id].角色:取任务(352) ~= 0 then
    添加最后对话(id,"少侠身上已经任务，请先完成任务再来！")
    return
  elseif 玩家数据[id].队伍 ~= 0 then
    添加最后对话(id,"组队状态下无法接任务！")
    return
  end
  local 地图范围={6024}
  local 地图=地图范围[取随机数(1,#地图范围)]
  local xy=地图处理类.地图坐标[地图]:取随机点()
  xy.x = 取随机数(87,125)
  xy.y = 取随机数(3,40)
  local 任务id="_352_"..os.time().."_"..取随机数(88,99999999)
  local 造型="长眉灵猴"
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=600,
    玩家id=id,
    队伍组={},
    称谓="妄空是猪",
    名称="妄空泼猴",
    模型=造型,
    行走开关=true,
    x=xy.x,
    y=xy.y,
    地图编号=地图,
    地图名称=取地图名称(地图),
    类型=352,
    副本id = 任务数据[玩家数据[id].角色:取任务(150)].副本id
  }
  玩家数据[id].角色:添加任务(任务id)
  地图处理类:添加单位(任务id)
end

function 任务处理类:添加水陆邀请任务(id)
  if 玩家数据[id].角色:取任务(353) ~= 0 then
    添加最后对话(id,"少侠身上已经任务，请先完成任务再来！")
    return
  elseif 玩家数据[id].队伍 ~= 0 then
    添加最后对话(id,"组队状态下无法接任务！")
    return
  end
  local 任务id = id.."_"..取随机数(88,1111).."_353_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  任务数据[任务id]={
    领取人id={id},
    id=任务id,
    起始=os.time(),
    结束=600,
    玩家id=id,
    队伍组={},
    类型=353
  }
  local 序列=取随机数(1,#Q_水陆大会邀请)
  任务数据[任务id].人物=Q_水陆大会邀请[序列].名称
  任务数据[任务id].x=Q_水陆大会邀请[序列].x
  任务数据[任务id].y=Q_水陆大会邀请[序列].y
  任务数据[任务id].人物地图=6025
  添加最后对话(id,format("穿过道场前门，到繁华京城给#R%s（%s，%s）#W送上邀帖。",任务数据[任务id].人物,任务数据[任务id].x,任务数据[任务id].y))
  玩家数据[id].角色:添加任务(任务id)
end

function 任务处理类:开启通天河副本(id)
  if 玩家数据[id].队伍==0 or 玩家数据[id].队长==false  then
    常规提示(id,"#Y/该任务必须组队完成且由队长领取")
    return
  elseif 取队伍人数(id)<1 then
    常规提示(id,"#Y此副本要求队伍人数不低于5人")
    return
  elseif  取等级要求(id,60)==false then
    常规提示(id,"#Y此副本要求角色等级不能低于60级")
    return
  end
  local 队伍id=玩家数据[id].队伍
  for n=1,#队伍数据[队伍id].成员数据 do
    local 临时id=队伍数据[队伍id].成员数据[n]
    if 副本数据.通天河.完成[临时id]~=nil then
      常规提示(临时id,"#Y"..玩家数据[临时id].角色.数据.名称.."本日已经完成过此副本了")
      return
    elseif 玩家数据[临时id].角色:取任务(160)~=0 then
      常规提示(临时id,"#Y"..玩家数据[临时id].角色.数据.名称.."正在进行副本任务，无法领取新的副本")
      return
    end
  end
  local 任务id=id.."_160_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
  任务数据[任务id]={
    id=任务id,
    起始=os.time(),
    结束=7200,
    玩家id={},
    队伍组={},
    副本id=id,
    类型=160
  }
  副本数据.通天河.进行[id]={进程=1}
  副本数据.通天河.进行[id].副本任务id = 任务id
  副本数据.通天河.进行[id].通天答题=0
  local 队伍id=玩家数据[id].队伍
  self:设置通天河副本(id)
  for n=1,#队伍数据[队伍id].成员数据 do
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 临时id=队伍数据[队伍id].成员数据[n]
      玩家数据[临时id].角色:添加任务(任务id)
      常规提示(临时id,"#Y你开启了通天河副本")
    end
  end
end

function 任务处理类:设置通天河副本(id)
  local 地图=0
  local x坐标=0
  local y坐标=0
  local 方向=0
  if 副本数据.通天河.进行[id]==nil then
    return
  end
  if 副本数据.通天河.进行[id].副本任务id==nil then
      常规提示(id,"#Y副本任务失败！")
      return
  end
  local fbid = 副本数据.通天河.进行[id].副本任务id
  local 随机名称={}
  local 随机模型={}
  if 副本数据.通天河.进行[id].进程==1 then
    随机名称={"丫丫","毛头","明明","豆包","嘟嘟","壬儿","小强","萱儿","花花","壮壮"}
    随机模型={"小丫丫","小毛头"}
    for i=1,#随机名称 do
      地图 = 6027
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 任务id="_161_"..os.time().."_"..取随机数(88,99999999)
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[取随机数(1,#随机名称)],
        模型=随机模型[取随机数(1,#随机模型)],
        x=xy.x,
        y=xy.y,
        副本id=id,
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=161
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.通天河.进行[id].进程==2 then
    随机名称={"一秤金","陈关保"}
    随机模型={"小丫丫","小毛头"}
    副本数据.通天河.进行[id].变身次数=0
    for i=1,#随机模型 do
      任务id=id.."_162_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      地图=6027
      local xy=地图处理类.地图坐标[地图]:取随机点()
      local 造型=随机模型[i]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=造型,
        x=xy.x,
        y=xy.y,
        方向=方向,
        副本id=id,
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=162,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.通天河.进行[id].进程==3 then
    地图 = 6027
    任务id=id.."_163_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=999999,
      玩家id=id,
      队伍组={},
      名称="灵灯",
      模型="灵灯",
      x=23,
      y=176,
      方向=1,
      副本id=id,
      地图编号=地图,
      地图名称=取地图名称(地图),
      类型=163,
    }
    地图处理类:添加单位(任务id)
  elseif 副本数据.通天河.进行[id].进程==4 then
    地图 = 6027
    local xy=地图处理类.地图坐标[地图]:取随机点()
    随机名称={"唐僧","村民","村民","村民","村民","村民","村民","村民","村民","村民"}
    随机模型={"唐僧","男人_店小二","女人_满天星","普陀_接引仙女","女人_满天星","小丫丫","小毛头","宝石商人","男人_店小二","普陀_接引仙女"}
    for i=1,#随机模型 do
      xy.x=取随机数(103,116)
      xy.y=取随机数(92,100)
      任务id=id.."_164_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=随机模型[i],
        x=xy.x,
        y=xy.y,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=164,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.通天河.进行[id].进程==5 then
    地图 = 6027
    副本数据.通天河.进行[id].河妖=0
    随机名称={"河妖"}
    随机模型={"虾兵","蟹将","蚌精","鲛人","碧水夜叉"}
    for i=1,15 do
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务id=id.."_165_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[取随机数(1,#随机名称)],
        模型=随机模型[取随机数(1,#随机模型)],
        x=xy.x,
        y=xy.y,
        方向=方向,
        副本id=id,
        行走开关=true,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=165,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.通天河.进行[id].进程==6 then
    地图 = 6028
    local xy=地图处理类.地图坐标[地图]:取随机点()
    随机名称={"散财童子","黑熊精"}
    随机模型={"小魔头","黑熊精"}
    for i=1,#随机模型 do
      local xy=地图处理类.地图坐标[地图]:取随机点()
      if 随机名称[i]=="散财童子" then
        xy.x=17
        xy.y=21
      else
        xy.x=22
        xy.y=17
      end
      任务id=id.."_166_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=随机模型[i],
        x=xy.x,
        y=xy.y,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=166,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.通天河.进行[id].进程==7 then
    地图 = 6028
    local xy=地图处理类.地图坐标[地图]:取随机点()
    随机名称={"观音姐姐"}
    随机模型={"观音姐姐"}
    for i=1,#随机模型 do
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务id=id.."_167_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=随机模型[i],
        x=9,
        y=9,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=167,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.通天河.进行[id].进程==8 then
    地图 = 6028
    local xy=地图处理类.地图坐标[地图]:取随机点()
    副本数据.通天河.进行[id].五色竹条=0
    随机名称={"五色竹条"}
    随机模型={"木材"}
    for i=1,50 do
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务id=id.."_168_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称="五色竹条",
        模型="木材",
        x=xy.x,
        y=xy.y,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=168,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.通天河.进行[id].进程==9 then
    地图 = 6029
    local xy=地图处理类.地图坐标[地图]:取随机点()
    随机名称={"金鱼将军"}
    随机模型={"金鱼"}
    for i=1,#随机模型 do
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务id=id.."_169_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        名称=随机名称[i],
        模型=随机模型[i],
        x=111,
        y=54,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=169,
      }
      地图处理类:添加单位(任务id)
    end
  elseif 副本数据.通天河.进行[id].进程==10 then
    地图 = 6030
    local xy=地图处理类.地图坐标[地图]:取随机点()
    随机名称={"灵感大王"}
    随机模型={"神天兵"}
    for i=1,#随机模型 do
      local xy=地图处理类.地图坐标[地图]:取随机点()
      任务id=id.."_170_"..os.time().."_"..随机序列.."_"..取随机数(88,99999999)..i
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=999999,
        玩家id=id,
        队伍组={},
        角色=true,
        名称=随机名称[i],
        模型=随机模型[i],
        武器="雷神",
        武器等级=100,
        x=xy.x,
        y=xy.y,
        方向=方向,
        副本id=id,
        地图编号=地图,
        地图名称=取地图名称(地图),
        类型=170,
      }
      地图处理类:添加单位(任务id)
    end
  end
end

function 任务处理类:刷出魔域魔兵()
  local 地图范围={1142,1135,1198,1002}
  for n=1,#地图范围 do
    for i=1,10 do
      local xy=地图处理类.地图坐标[地图范围[n]]:取随机点()
      local 任务id="_355_"..os.time().."_"..取随机数(88,99999999)..i
      local 造型={"夜罗刹"}
      local 造型=造型[取随机数(1,#造型)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id=id,
        队伍组={},
        名称="魔域督军",
        模型=造型,
        行走开关=true,
        x=xy.x,
        y=xy.y,
        显示饰品=true,
        地图编号=地图范围[n],
        地图名称=取地图名称(地图范围[n]),
        类型=355
      }
      地图处理类:添加单位(任务id)
    end
  end
  广播消息({内容=format("#G女儿村、方寸山、大唐官府、化生寺突然闯入了一群魔兵强抢民女和壮丁，请有实力的少侠速去平乱。".."#"..取随机数(24,24)),频道="xt"})
end

function 任务处理类:完成魔域魔兵(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=0
  local 银子=0
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*平均等级*2
      银子=平均等级*60
      玩家数据[id].角色:添加经验(经验,"魔域魔兵",1)
      玩家数据[id].角色:添加银子(银子,"魔域魔兵",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"魔域魔兵")
      end
      local 奖励参数=取随机数(1,120)
      if 奖励参数<20 then
        礼包奖励类:随机装备(id,70,"无级别限制")
        local 名称="70级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔域魔兵)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得督军魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=40 then
        local 名称="三界悬赏令"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔域魔兵)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得督军魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=45 then
        local 名称="摇钱树苗"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔域魔兵)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得督军魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=60 then
        local 名称="一级未激活符石"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔域魔兵)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得督军魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      else
        local 名称="符石卷轴"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔域魔兵)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得督军魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:捣乱的年兽()
  年兽数据={捣乱的年兽=40,年兽王=4}
  local 地图范围={1501,1070,1208,1092}
  for n=1,#地图范围 do
    for i=1,10 do
      local xy=地图处理类.地图坐标[地图范围[n]]:取随机点()
      local 任务id="_356_"..os.time().."_"..取随机数(88,99999999)..i
      local 造型={"古代瑞兽"}
      local 造型=造型[取随机数(1,#造型)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=3600,
        玩家id=id,
        队伍组={},
        名称="捣乱的年兽",
        模型=造型,
        行走开关=true,
        x=xy.x,
        y=xy.y,
        等级=80,
        显示饰品=true,
        地图编号=地图范围[n],
        地图名称=取地图名称(地图范围[n]),
        类型=356
      }
      地图处理类:添加单位(任务id)
    end
  end
  for n=1,#地图范围 do
    local xy=地图处理类.地图坐标[地图范围[n]]:取随机点()
    local 任务id="_357_"..os.time().."_"..取随机数(88,99999999)..n
    local 造型={"进阶古代瑞兽"}
    local 造型=造型[取随机数(1,#造型)]
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=3600,
      玩家id=id,
      队伍组={},
      名称="年兽王",
      模型=造型,
      行走开关=true,
      等级=80,
      x=xy.x,
      y=xy.y,
      显示饰品=true,
      地图编号=地图范围[n],
      地图名称=取地图名称(地图范围[n]),
      类型=357
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G在民间四处作乱的年兽出现在建邺城、长寿村、朱紫国、傲来国等地，玩家可以前去驱赶捣乱的年兽获得丰厚的奖励。".."#"..取随机数(24,24)),频道="xt"})
end

function 任务处理类:邪恶年兽()
  年兽数据={}
  local 地图范围={1501}
  for n=1,#地图范围 do
    local xy=地图处理类.地图坐标[地图范围[n]]:取随机点()
    local 任务id="_358_"..os.time().."_"..取随机数(88,99999999)..n
    local 造型={"进阶古代瑞兽"}
    local 造型=造型[取随机数(1,#造型)]
    任务数据[任务id]={
      id=任务id,
      起始=os.time(),
      结束=3600,
      玩家id=id,
      队伍组={},
      名称="邪恶年兽·魔",
      模型=造型,
      行走开关=true,
      等级=80,
      x=xy.x,
      y=xy.y,
      显示饰品=true,
      地图编号=地图范围[n],
      地图名称=取地图名称(地图范围[n]),
      类型=358
    }
    地图处理类:添加单位(任务id)
  end
  广播消息({内容=format("#G由于大量猎杀年兽，引起了#R邪恶年兽·魔#G的注意，#R邪恶年兽·魔#G已经降临在建邺城，有实力的玩家可以前去挑战。".."#"..取随机数(24,24)),频道="xt"})
end

function 任务处理类:完成捣乱的年兽(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=150000
  local 银子=100000
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*平均等级*25
      银子=平均等级*1500
      玩家数据[id].角色:添加经验(经验,"捣乱的年兽",1)
      玩家数据[id].角色:添加银子(银子,"捣乱的年兽",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"捣乱的年兽")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=30 then
        local 名称="元宵"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(捣乱的年兽)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R捣乱的年兽#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=50 then
        local 名称=取宝石()
        玩家数据[id].道具:给予道具(id,名称,取随机数(1,3))
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(捣乱的年兽)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R捣乱的年兽#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
       elseif 奖励参数 <= 60 then
        礼包奖励类:随机装备(id,80,"无级别限制")
        local 名称="80级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(捣乱的年兽)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R捣乱的年兽#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=80 then
        local 名称="魔兽要诀"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(捣乱的年兽)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R捣乱的年兽#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      else
        local 名称="神兜兜"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(捣乱的年兽)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R捣乱的年兽#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
         end
    end
  end
  年兽数据.捣乱的年兽=年兽数据.捣乱的年兽-1
  if 年兽数据.捣乱的年兽<=0 then
    年兽数据.捣乱的年兽=0
  end
  if 年兽数据.捣乱的年兽==0 and 年兽数据.年兽王==0 then
    self:邪恶年兽()
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end
function 任务处理类:完成年兽王(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=0
  local 银子=0
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*平均等级*50
      银子=平均等级*2000
      玩家数据[id].角色:添加经验(经验,"年兽王",1)
      玩家数据[id].角色:添加银子(银子,"年兽王",1)
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"年兽王")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=15 then
        local 名称="彩果"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(年兽王)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R年兽王#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数 <= 25 then
        礼包奖励类:随机装备(id,100,"无级别限制")
        local 名称="100级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(年兽王)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R年兽王#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
     elseif 奖励参数<=40 then
        local 名称="三界悬赏令"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔域魔兵)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得督军魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})

     elseif 奖励参数<=55 then
        local 名称=玩家数据[id].道具:给予书铁(id,{10,14})
        名称=名称[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(年兽王)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R年兽王#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
     elseif 奖励参数 <= 60 then
        礼包奖励类:随机装备(id,120,"无级别限制")
        local 名称="120级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(年兽王)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R年兽王#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=85 then
        local 名称="百炼精铁"
          玩家数据[id].道具:给予书铁(id,{8,13},"精铁")
          常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(年兽王)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R年兽王#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 名称="附魔宝珠"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(年兽王)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R年兽王#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=70 then
        local 名称="坐骑内丹"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(年兽王)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R年兽王#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      else
        local 名称="神兜兜"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(年兽王)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R年兽王#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
        end
    end
  end
  年兽数据.年兽王=年兽数据.年兽王-1
  if 年兽数据.年兽王<=0 then
    年兽数据.年兽王=0
  end
  if 年兽数据.捣乱的年兽==0 and 年兽数据.年兽王==0 then
    self:邪恶年兽()
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:完成邪恶年兽(任务id,id组)
  if 任务数据[任务id]==nil then
    return
  end
  local 经验=0
  local 银子=0
  for n=1,#id组 do
    local id=id组[n]
    if 队伍处理类:取是否助战(玩家数据[id].队伍,n) == 0 then
      local 平均等级 = 取队伍平均等级(玩家数据[id].队伍,id)
      经验=平均等级*平均等级*60
      银子=平均等级*2000
      玩家数据[id].角色:添加经验(经验,"邪恶年兽·魔",1)
      玩家数据[id].角色:添加银子(银子,"邪恶年兽·魔",1)
    -- 添加元宝(20,玩家数据[id].账号,id,"邪恶年兽·魔")
      if 玩家数据[id].角色.数据.参战信息~=nil then
        玩家数据[id].召唤兽:获得经验(玩家数据[id].角色.数据.参战宝宝.认证码,math.floor(经验*0.8),id,"邪恶年兽·魔")
      end
      local 奖励参数=取随机数(1,100)
      if 奖励参数<=25 then
        local 名称=玩家数据[id].道具:给予书铁(id,{14,15})
        名称=名称[1]
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(邪恶年兽·魔)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R邪恶年兽·魔#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=35 then
        local 名称="二级未激活符石"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(邪恶年兽·魔)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R邪恶年兽·魔#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
     elseif 奖励参数<=40 then
        local 名称="三界悬赏令"
        玩家数据[id].道具:给予道具(id,名称,1)
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(魔域魔兵)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得督军魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})

     elseif 奖励参数<=70 then
        local 名称="百炼精铁"
          玩家数据[id].道具:给予书铁(id,{8,14},"精铁")
          常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(邪恶年兽·魔)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R邪恶年兽·魔#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数<=75 then
        local 名称="元灵晶石"
        玩家数据[id].道具:给予道具(id,"元灵晶石",{12,14})
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(邪恶年兽·魔)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R邪恶年兽·魔#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      elseif 奖励参数 <= 60 then
        礼包奖励类:随机装备(id,120,"无级别限制")
        local 名称="120级无级别装备"
        常规提示(id,"#Y/你获得了"..名称)
        广播消息({内容=format("#S(邪恶年兽·魔)#R/%s#Y少侠上蹿下跳，施展了一手九阳神功，吓得#R邪恶年兽·魔#Y魂飞魄散，连#G/%s#Y宝贝都忘记带走。".."#"..取随机数(24,24),玩家数据[id].角色.数据.名称,名称),频道="xt"})
      end
    end
  end
  地图处理类:删除单位(任务数据[任务id].地图编号,任务数据[任务id].单位编号)
  任务数据[任务id]=nil
end

function 任务处理类:刷出魔族先锋(地图)
  local 地图范围={地图}
  for n=1,#地图范围 do
    for i=1,2 do
      local xy=地图处理类.地图坐标[地图范围[n]]:取随机点()
      local 任务id="_359_"..os.time().."_"..取随机数(88,99999999)..i
      local 造型={"鼠先锋"}
      local 造型=造型[取随机数(1,#造型)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id=id,
        队伍组={},
        名称="魔族先锋",
        模型=造型,
        行走开关=true,
        x=xy.x,
        y=xy.y,
        事件="明雷",
        显示饰品=true,
        地图编号=地图范围[n],
        地图名称=取地图名称(地图范围[n]),
        类型=359
      }
      if 地图==1173 then
        任务数据[任务id].境外怪物移动=true
        任务数据[任务id].x,任务数据[任务id].y=15,15
      else
        任务数据[任务id].国境怪物移动=true
        任务数据[任务id].x,任务数据[任务id].y=20,267
      end
      地图处理类:添加单位(任务id)
    end
  end
  if 地图==1173 then
    广播消息({内容=format("#G魔族先锋出现在了境外小西天门口，少侠们快去消灭他们".."#"..取随机数(24,24)),频道="xt"})
  else
    广播消息({内容=format("#G魔族先锋出现在了境外到国境门口，少侠们快去消灭他们".."#"..取随机数(24,24)),频道="xt"})
  end
end

function 任务处理类:刷出魔族头目(地图)
  local 地图范围={地图}
  for n=1,#地图范围 do
    for i=1,2 do
      local xy=地图处理类.地图坐标[地图范围[n]]:取随机点()
      local 任务id="_360_"..os.time().."_"..取随机数(88,99999999)..i
      local 造型={"噬天虎"}
      local 造型=造型[取随机数(1,#造型)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id=id,
        队伍组={},
        名称="魔族头目",
        模型=造型,
        行走开关=true,
        x=20,
        y=267,
        事件="明雷",
        显示饰品=true,
        地图编号=地图范围[n],
        地图名称=取地图名称(地图范围[n]),
        类型=360
      }
      if 地图==1173 then
        任务数据[任务id].境外怪物移动=true
        任务数据[任务id].x,任务数据[任务id].y=15,15
      else
        任务数据[任务id].国境怪物移动=true
        任务数据[任务id].x,任务数据[任务id].y=20,267
      end
      地图处理类:添加单位(任务id)
    end
  end
  if 地图==1173 then
    广播消息({内容=format("#G魔族头目出现在了境外小西天门口，少侠们快去消灭他们".."#"..取随机数(24,24)),频道="xt"})
  else
    广播消息({内容=format("#G魔族头目出现在了境外到国境门口，少侠们快去消灭他们".."#"..取随机数(24,24)),频道="xt"})
  end
end

function 任务处理类:刷出魔族将军(地图)
  local 地图范围={地图}
  for n=1,#地图范围 do
    for i=1,2 do
      local xy=地图处理类.地图坐标[地图范围[n]]:取随机点()
      local 任务id="_361_"..os.time().."_"..取随机数(88,99999999)..i
      local 造型={"夜罗刹"}
      local 造型=造型[取随机数(1,#造型)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id=id,
        队伍组={},
        名称="魔族将军",
        模型=造型,
        行走开关=true,
        x=20,
        y=267,
        事件="明雷",
        显示饰品=true,
        地图编号=地图范围[n],
        地图名称=取地图名称(地图范围[n]),
        类型=361
      }
      if 地图==1173 then
        任务数据[任务id].境外怪物移动=true
        任务数据[任务id].x,任务数据[任务id].y=15,15
      else
        任务数据[任务id].国境怪物移动=true
        任务数据[任务id].x,任务数据[任务id].y=20,267
      end
      地图处理类:添加单位(任务id)
    end
  end
  广播消息({内容=format("#G更厉害的魔族将军已经出现在了境外到国境门口，少侠们快去消灭他们".."#"..取随机数(24,24)),频道="xt"})
end

function 任务处理类:刷出魔族BOSS()
  local 地图范围={1001}
  for n=1,#地图范围 do
    for i=1,1 do
      local xy=地图处理类.地图坐标[地图范围[n]]:取随机点()
      local 任务id="_362_"..os.time().."_"..取随机数(88,99999999)..i
      local 造型={"蚩尤"}
      local 造型=造型[取随机数(1,#造型)]
      任务数据[任务id]={
        id=任务id,
        起始=os.time(),
        结束=7200,
        玩家id=id,
        队伍组={},
        名称="蚩尤分身",
        模型=造型,
        行走开关=true,
        x=xy.x,
        y=xy.y,
        事件="明雷",
        显示饰品=true,
        地图编号=地图范围[n],
        地图名称=取地图名称(地图范围[n]),
        类型=362
      }
      地图处理类:添加单位(任务id)
    end
  end
  广播消息({内容=format("#G魔族最终BOSS已经出现在了长安，胜利就在眼前了，少侠们快去消灭他们".."#"..取随机数(24,24)),频道="xt"})
end

function 任务处理类:显示(x,y)end
return 任务处理类